Board logo

标题: 对于MC9S12XDP512,主程序想放在芯片内FLASH,数据放在芯片外的FLASH,如何处理比较好? [打印本页]

作者: wang_r00    时间: 2007-3-18 16:17     标题: 对于MC9S12XDP512,主程序想放在芯片内FLASH,数据放在芯片外的FLASH,如何处理比较好?

谢谢

作者: strongchen    时间: 2007-3-19 09:28

S12X的存储器是可以扩展的。不明白你说的如何处理指的是什么。
作者: wang_r00    时间: 2007-3-19 09:45

我的固定数据大约要占用100多兆,S12X的存储器显然不够,需外扩128M的FLASH。我们的设计是固定数据是上位主机通过串口和S12X CPU通信,然后S12X CPU把收到的数据写到128M的FLASH里,所以CPU的主程序应该在CPU内。
但S12如采用外扩总线方式,好像所有程序都放在外存储器里。
请版主赐教,谢谢!
作者: strongchen    时间: 2007-3-19 09:47

不是的,你可以将程序和一部分数据放在内部FLASH,将另一部分数据放在外部FLASH中。
作者: wang_r00    时间: 2007-3-19 10:09

是采用外扩总线方式吗?
作者: strongchen    时间: 2007-3-19 10:31

对。
作者: wang_r00    时间: 2007-3-19 11:16

采用外扩总线方式,S12X CPU地址总线总共23位,寻址空间为8M。从MC9S12XDP512的data sheet上的memmory mapping control看,只有0x14_0000到0x40_0000才是外部设备的寻址空间,共2.75M;而不是0x00_0000到0x7F_FFFF,8M的寻址空间。这不利于我存储及读取数据。
不知我是否理解正确?

作者: strongchen    时间: 2007-3-19 15:21

如何不利于存储及读取数据?内部FLASH和外部FLASH在使用上基本没有什么区别。
作者: wang_r00    时间: 2007-3-21 09:18

谢谢版主的解答。
可能我没表述清楚。
采用外扩模式,主程序放在CPU 片内FLASH内,那CPU 的外扩寻址空间最大是多少,其起始地址和截止地址又是多少。
作者: strongchen    时间: 2007-3-21 10:19

S12X整个8M的寻址空间中,只要是内部没有占用的地址,都可以用作外部扩展地址,并非只有2.75M的外部寻址空间。
作者: wang_r00    时间: 2007-3-21 13:26

我有些不明白版主说的“内部没占用的地址”。
主程序放在内部FLASH,那它是占用了还是没占用地址?还有运行主程序时用的内部RAM,它是占用了还是没占用地址?
现在设计急极需要扩展128M的FLASH,但总对MC9S12XDP512外扩总线内容搞得不是很清楚。版主是否有相关例子。

作者: strongchen    时间: 2007-3-22 09:42

例如,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空间也都可以作为扩展地址来使用。
作者: wang_r00    时间: 2007-3-22 11:12

终于盼来了版主的回应!谢谢版主。
如果我要外扩128M的FLASH,版主可否建议一个方案?万分感谢!

作者: wang_r00    时间: 2007-3-22 11:17

终于盼来了版主的回应!谢谢版主。
如果我要外扩128M的FLASH,版主可否建议一个方案?万分感谢!

作者: strongchen    时间: 2007-3-22 15:27

这只能采用I/O口外扩地址译码器。或者用串行通讯的方式。你也可以看看S12UF32,它可以与128M的FLASH直接接口。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0