从开始移植u-boot断断续续已经有一个多月,始终不成功,始终也没放弃,说句实话,自己还真佩服我的耐心与渴望成功的毅力!
从参照网上别人的移植方法修改代码一直到今天串口输出久违的界面,下载了好多u-boot的版本,也参考了很多人博客里面的方法,始终串口都没有信息输出,这期间少了一些个人的思考,大多是直接按照别人的方法修修改改,也不明白别人在调试时时如何操作的,就这样按照别人的方法修改,按照自己的调试方式调试,一直到今天才有突破性进展----串口出字了!
说说原因吧,之前之所以失败是因为调试手段不对,也许有很多次修改的代码都是对的,就因为调试手段的错误而导致屡屡失败,失败了删了再改,呵呵,越挫越勇!
前久把编译出来的u-boot.bin直接烧写到nand flsh里面,但是未在u-boot里面添加nand驱动,这就导致一个问题,u-boot的4k后面的代码无法从nand flash中复制到ram中,这样怎么能让完整的u-boot在ram中跑呢?当然不能。这就是我整整一个多月来的调试方法,烧写了不计其数,试过很多种修改代码的方法,结果是浪费时间,唉……
昨晚快断电的时候,看着start.S,看到拷贝代码那一段,源码是天嵌的,用的是C拷贝,突想:u-boot.bin好像现在编译出来的是90多k,nand flash仅有4k映射到ram,那么如果nand不能读的话,4k后面的怎么办?
就这样,我把cpu初始化那段屏蔽了,利用nor flash里面的u-boot启动板子,通过usb把u-boot下载到ram中,久违的MINICOM终于有正常输出啦,哈哈兴奋!
有时候成功就之和你隔着一层纱,就看你能否早一点把它看穿,早----来自于想法!!
今晚暂时总结哈心得,不久会把完整的移植过程整理了来!
阅读(1139) | 评论(0) | 转发(0) |