您的位置:首页 > 其它

U-boot程序在FL2440的SDRAM中的BUG

2015-11-25 17:11 211 查看
自己开发板的一些参数特征如下:

CPU:三星S3C2440 主频:400MHZ

NAND Flash : 128M/256 M 字节 K9F2G08U0C

内存:SDRAM EM63A165TS-6G R50CE05BJG929.13

我移植u-boot的时候开始一切都顺利,但是在SDRAM中测试的时候总是随机的出现错误,把程序下载nand flash的时候一切正常,但是当你断电几分钟重新上电后就出现了各种乱码,开始的时候我还以为是程序的问题,就添加各种点灯来测试,但是毕竟U-boot系统还是有那么大,不好测试,在加上上电程序显示的都是不同乱码,有时候又可以正常启动。在这调试期间我基本是抓狂的。呵呵,没想到我是如此的执着。我又跑去测试裸机程序,具体流程就是从SRAM中复制
程序到SDRAM中去测试,但是还是出现了相同的现象,这真的是让我非常急躁,但是我用 公司自带的U-boot完全没有问题的嘛,我一直怀疑是自己的程序的问题,我就反复看SDRAM的芯片手册,不断的修改参数,可是问题并没有解决,我去看反汇编的程序的时候,也没有发现任何错误,每次都发现在点灯的第一个程序中死掉了,我注释掉延时程序(for(i=0;i<30000;i++);)居然对了。我又在官方自带的程序添加延时函数,居然发现也出现了相同的问题,我在自己写的u-boot中注释掉用点灯的延时函数,发现BUG也消失了,我这个高兴呀,这个折腾了我半个月啊。

我发现了问题,但是为什么为出错,我目前能了也不知道,我问了一个网友,他给我的回答如下:






如果有朋友知道其中的原委,望不吝赐教。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: