打印

9260使用NorFlash和SDRAM,出现很奇怪的问题,请高手们看看

[复制链接]
2479|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主


如上的代码,就是先往SDRAM中写入一些数据,然后再从Flash中读数,结果在SDRAM比对时,0x20000000也就是SDRAM的第一个地址,固定出错,回读的数据应该是0,但是出错后,数据是Flash的最后一个数据,因为flash是16bit的,SDRAM是32bit的,出错的32bit数据就是Flash的最后一个数拼起来的;看下面的变量截图,是程序在上图中的断点停下来后的变量值。测试的时候还发现9260的数据线上有很多的脉冲,不像简单的数据总线那样干净,而且是在执行不是外部的内存访问时也有变化,很郁闷,测试中还发现SDCS管脚电平在执行了将NCS1做为SDRAM的CS时就固定为1了,感觉问题很多啊,大家有碰到过吗?

相关帖子

沙发
yaxcore| | 2011-2-20 11:25 | 只看该作者
这个要看具体情况。
是否进行了REMAP。
ATMEL的ARM都有REMAP指令,REMAP后,将内部SRAM映射为0。

FLASH如果您是外接NOR FLASH,而且BMS=0,那么从NOR FLASH启动,这个时候
该地址为0

使用特权

评论回复
板凳
yaxcore| | 2011-2-20 11:25 | 只看该作者
希望对您的问题有所提示。

使用特权

评论回复
地板
djc31318826|  楼主 | 2011-2-20 18:04 | 只看该作者
谢谢先,但是跟remap没有关系。。。
校验的是SDRAM中的数据,
Flash读只不过是插在中间,
看对SDRAM的影响的。。。
希望对您的问题有所提示。
yaxcore 发表于 2011-2-20 11:25

使用特权

评论回复
5
wangkj| | 2011-2-20 18:41 | 只看该作者
先别管nor,用串口配置和启动。或者别管sdram,先从内部sram启动。
两个未知问题别混一起,增加很多难度

使用特权

评论回复
6
djc31318826|  楼主 | 2011-2-20 20:52 | 只看该作者
多谢,现在从Nor启动没有问题啊,
SDRAM的u-boot也可以跑起来啊;
SDRAM 16bit的情况下,linux也成功引导了;
但是32bit的时候,linux解压后出现crc errror;
所以怀疑SDRAM不稳定,
这是回过头来解决SDRAM不稳定的问题发现的一个新问题;
现在的问题总结下来就是在连续读了Flash一段地址后,
第一次读的SDRAM地址(不一定是SDRAM的0地址)
数据低16bit总是出错;
高16bit还是对的;所谓问题比较奇怪;
先别管nor,用串口配置和启动。或者别管sdram,先从内部sram启动。
两个未知问题别混一起,增加很多难度
wangkj 发表于 2011-2-20 18:41

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

12

帖子

1

粉丝