对于MC9S12XDP512,主程序想放在芯片内FLASH,数据放在芯片外的FLASH,如何处理比较好?
- UID
- 115880
- 性别
- 女
|
对于MC9S12XDP512,主程序想放在芯片内FLASH,数据放在芯片外的FLASH,如何处理比较好?
hi thank you for your help |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
S12X的存储器是可以扩展的。不明白你说的如何处理指的是什么。 |
|
|
|
|
|
- UID
- 115880
- 性别
- 女
|
我的固定数据大约要占用100多兆,S12X的存储器显然不够,需外扩128M的FLASH。我们的设计是固定数据是上位主机通过串口和S12X CPU通信,然后S12X CPU把收到的数据写到128M的FLASH里,所以CPU的主程序应该在CPU内。
但S12如采用外扩总线方式,好像所有程序都放在外存储器里。
请版主赐教,谢谢! |
hi thank you for your help |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
不是的,你可以将程序和一部分数据放在内部FLASH,将另一部分数据放在外部FLASH中。 |
|
|
|
|
|
- UID
- 115880
- 性别
- 女
|
hi thank you for your help |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
|
|
|
|
|
- UID
- 115880
- 性别
- 女
|
采用外扩总线方式,S12X CPU地址总线总共23位,寻址空间为8M。从MC9S12XDP512的data sheet上的memmory mapping control看,只有0x14_0000到0x40_0000才是外部设备的寻址空间,共2.75M;而不是0x00_0000到0x7F_FFFF,8M的寻址空间。这不利于我存储及读取数据。
不知我是否理解正确?
|
hi thank you for your help |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
如何不利于存储及读取数据?内部FLASH和外部FLASH在使用上基本没有什么区别。 |
|
|
|
|
|
- UID
- 115880
- 性别
- 女
|
谢谢版主的解答。
可能我没表述清楚。
采用外扩模式,主程序放在CPU 片内FLASH内,那CPU 的外扩寻址空间最大是多少,其起始地址和截止地址又是多少。 |
hi thank you for your help |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
S12X整个8M的寻址空间中,只要是内部没有占用的地址,都可以用作外部扩展地址,并非只有2.75M的外部寻址空间。 |
|
|
|
|
|
- UID
- 115880
- 性别
- 女
|
我有些不明白版主说的“内部没占用的地址”。
主程序放在内部FLASH,那它是占用了还是没占用地址?还有运行主程序时用的内部RAM,它是占用了还是没占用地址?
现在设计急极需要扩展128M的FLASH,但总对MC9S12XDP512外扩总线内容搞得不是很清楚。版主是否有相关例子。
|
hi thank you for your help |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
例如,S12XDP512的0x14_0000~0x3F_FFFF的250K的空间本身就是扩展地址,可以直接使用;另外,S12XDP512的FLASH空间为0x40_0000~0x7F_FFFF,但实际上它的内部FLASH只占用了0x78_0000~0x7F_FFFF的512K的空间,那么剩下的另外的0x40_0000~0x77_FFFF的3.5M的空间都可以作为扩展地址来使用。同样,未使用的RAM和FLASH空间也都可以作为扩展地址来使用。 |
|
|
|
|
|
- UID
- 115880
- 性别
- 女
|
终于盼来了版主的回应!谢谢版主。
如果我要外扩128M的FLASH,版主可否建议一个方案?万分感谢!
|
hi thank you for your help |
|
|
|
|
|
- UID
- 115880
- 性别
- 女
|
终于盼来了版主的回应!谢谢版主。
如果我要外扩128M的FLASH,版主可否建议一个方案?万分感谢!
|
hi thank you for your help |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
这只能采用I/O口外扩地址译码器。或者用串行通讯的方式。你也可以看看S12UF32,它可以与128M的FLASH直接接口。 |
|
|
|
|
|