我的问题已经解决了,我出问题的原因是这样的:
我的是at91sam9261芯片,用它来驱动lcd,当lcd帧缓存放在0x20100000地址时,发现出现CSTACK这个问题,后来我看了一下SDRAM的设置,发现0x20100000这个是我定义的sdram的首地址,另外查看map文件查看程序链接之后各个段,模块的分配地址发现从0x20100000到0x20130000地址之内都有程序的数据段和代码段在那里。后来我把lcd帧缓存设置成0x20130000这个问题就解决了。
因为我是在外部sdram调试的,所以全部的数据都保存在sdram中,当在程序中设置帧地址的时候,要注意不要造成数据与程序模块地址范围的覆盖。
不知你的情况是不是这样的。
|