请教一个从SDRAM里提取数据的问题

2019-08-08 23:04发布

大神好,在一块SDRAM里,从地址0x450000开始一共存了16块数据,每块数据8192word,但是只有前4096word有效。所以我采取了以下方式取数:首先#define source 0x450000,然后定义了一个指针 unsigned int* p=(unsigned int* )source;最后在while循环里每次让p+8192,然后对应取数,每个数据块取682个数。结果,最终得到的数组里,前5463个数(一共10550个数)是对的,后面的都是错的。为什么呢?后来我重新定义了一个long型数a用来存0x450000,然后每次a=a+8192,然后p=(unsigned int* )a,接着取数,就都是正确的了。大神,求指导,求解释,不胜感激~~~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
biechedan
1楼-- · 2019-08-09 02:04
应该是8192*4吧
biechedan
2楼-- · 2019-08-09 05:17
1个word是2个字节吧 你的寻址方式是32的吧?
tj_leo
3楼-- · 2019-08-09 11:08
biechedan 发表于 2013-9-11 23:30
1个word是2个字节吧 你的寻址方式是32的吧?

谢谢大神回复,我用sizeof看了一下,是4个字节,看来是32位的。不知道大神对CMD文件编写有研究吗?
biechedan
4楼-- · 2019-08-09 13:53
 精彩回答 2  元偷偷看……
zhangmangui
5楼-- · 2019-08-09 19:50
数据类型和数据宽度的问题吧   

一周热门 更多>