5509A外扩SDRAM无法使用高地址进行变量分配的问题

2019-08-01 15:36发布

小弟的5509A外扩了一片SDRAM,其容量为1M*4BANK*16bit,映射在CE0空间,cmd文件里分配的字节地址范围为0x40000~0x400000,对应的字地址范围是0x20000~0x200000,我在程序里声明变量时,用#pragma DATA_SECTION将变量放在了SDRAM里,发现当变量地址超过0x30000时就提示setion spans page boudary:not allowed before CPU revision. 0x20000~0x30000的地址范围刚好是64k,是SDRAM 一个页的容量,怎么解救这个问题呢,就是让我可以使用0x30000以后的空间,谢谢大侠们不吝赐教。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
以马内利3005
1楼-- · 2019-08-01 17:12
本帖最后由 以马内利3005 于 2014-6-28 08:51 编辑

原来cmd文件里所有的地址空间都定义在了PAGE 0 里,我把CE0空间的0x80000~0x400000定义在PAGE 1 里,就OK了。
vivilzb1985
2楼-- · 2019-08-01 19:52
我不是很清楚这一块的,晚上来帮着顶起以下的吧
以马内利3005
3楼-- · 2019-08-01 21:17
vivilzb1985 发表于 2014-6-27 22:01
我不是很清楚这一块的,晚上来帮着顶起以下的吧

我已经解决了,请看2楼,谢谢帮顶~
zhangmangui
4楼-- · 2019-08-02 02:20
 精彩回答 2  元偷偷看……
以马内利3005
5楼-- · 2019-08-02 05:55
zhangmangui 发表于 2014-6-28 23:26
为啥啊    PAGE0的范围不够?

好像是的,每一个page的范围好像限定了大小,64k左右吧~地址length=0x10000字~

一周热门 更多>