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

[复制链接]
1388|3
 楼主| tj_leo 发表于 2013-11-5 16:08 | 显示全部楼层 |阅读模式
大神好,小弟编译环境是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位,不存在超范围问题。究竟是什么原因呢?谢谢
zhangmangui 发表于 2013-11-5 16:37 | 显示全部楼层
看来你的SDRAM是外扩在CE1上   datasheet上给的其实地址是字节地址
而在ccs中编程写的地址是字地址   这个一定要注意
所以记得除以2  就合适  
chenci2013 发表于 2013-11-5 23:39 | 显示全部楼层
你定义了多少数据的?
chenci2013 发表于 2013-11-5 23:39 | 显示全部楼层
32位还是16位的?记得把数据调整的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

14

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部