求助关于CCS3.3中指针范围的问题

2019-08-05 15:43发布

大神好,小弟编译环境是3.3,处理器为dsp5509A.有一部分数据放在外扩的SDRAM上了(从0x450000开始),现在定义指针及代码如下:unsigned int* p=(unsigned int* )0x450000;之后想取连续出一些数,在while循环里p=p+8193;结果发现数不对,反复查看发现p=p+8193*3(即循环第三遍)是对的,p=p+8193*4(即循环第四遍)就发生错误,p值返回0x450000重新开始循环了,但是将8193*4换成直接的值32772就正确了。请大神指导,个人查看了一下,p值为32位,不存在超范围问题。究竟是什么原因呢?谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
zhangmangui
1楼-- · 2019-08-05 19:05
看来你的SDRAM是外扩在CE1上   datasheet上给的其实地址是字节地址
而在ccs中编程写的地址是字地址   这个一定要注意
所以记得除以2  就合适  
chenci2013
2楼-- · 2019-08-05 23:01
你定义了多少数据的?
chenci2013
3楼-- · 2019-08-06 04:29
 精彩回答 2  元偷偷看……

一周热门 更多>