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也消失了,我这个高兴呀,这个折腾了我半个月啊。
我发现了问题,但是为什么为出错,我目前能了也不知道,我问了一个网友,他给我的回答如下:
如果有朋友知道其中的原委,望不吝赐教。
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也消失了,我这个高兴呀,这个折腾了我半个月啊。
我发现了问题,但是为什么为出错,我目前能了也不知道,我问了一个网友,他给我的回答如下:
如果有朋友知道其中的原委,望不吝赐教。
相关文章推荐
- 1-1-08:字符三角形
- CentOS安装Subversion 1.9.*版本客户端
- AJAX 数据库实例
- DEV控件ComboBoxEdit附加下拉数据列方法(sqlhelper类自已找)
- Android——AndroidStudio字体大小设置(Log日志区域)
- 二叉搜索树ADT_BSTree
- iOS输入框随键盘滑动的另类实现
- 深度分析WM_PAINT和WM_ERASEBKGND消息
- PAT 1088. Rational Arithmetic (20)
- 3【学校教学系统】获取主界面
- (java)Binary Tree Level Order Traversal II
- 1072. Gas Station (30)
- 混响音效
- 一个数组中找重复数
- 1-2-05:填空:类型转换2
- 1072. Gas Station (30)
- 算法实验一 菲薄拉起数列
- Gost hash的C源码
- APP中注册时常用的发送验证码的Button,带倒计时重发功能
- clojure实现java类