文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>内存读写数据出错原因之一

内存读写数据出错原因之一

时间:2009-06-04  来源:neilengineer

    今天,在U-boot中把数据写到内存,再读出来发现数据不对,CRC校验也失败了。

       分析了一下原因,好像是因为内存寄存器初始化时,设置的refresh间隔时间太长了,导致内存不稳定,数据丢失。

 

在cpu/arm926ejs/start.S调用的lowlevel_init中,加入的内存初始化程序中的一段如下:

        ldr  r1, =0x32200020   //0x32200040

        str  r1, [0x90300004]

 

0x90300004是内存的time1寄存器如下:

 

 

       可见,6-0这几位设置内存的refresh间隔。这个值要根据具体CPU的主频来计算。

我原来设为0x32200040,也就是6-0位是0x40出问题;修改为0x20问题解决。

 

       当然,具体设置什么值好,要考虑内存稳定性,性能和效率等问题,还是比较复杂的。一般设置一个估计的值后,经过一些测试,如果各方面都符合要求,就用这个值了。

   

/*

*By Neil Chiao (neilchiao at gmail.com)

*转载请注明出处:neilengineer.cublog.cn

*欢迎访问:新星湾(www.xinxingwan.com)

*/

相关阅读 更多 +
排行榜 更多 +
超级冒险王安卓版

超级冒险王安卓版

休闲益智 下载
玩具小镇手机版

玩具小镇手机版

休闲益智 下载
这一关特上头手机版

这一关特上头手机版

休闲益智 下载