打印

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

[复制链接]
1002|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

粉丝