我在使用瑞泰的NANDWRITER_DSP程序烧写ubl时无法弹出浮窗,以前是可以的,但是现在却不行,我按照文档提供的步骤来做,还是不行。然后尝试用sfh_omapl138.exe工具烧写后,开发板上电,超级终端一直打印“bootmbootm”……,这分别是什么原因造成的呢?请行家帮忙解答,谢谢!
Tony Tang:
从第二个现像来看,板子应该是一直在不停的复位,因为正常情况是上电复位后只输出一个:bootm.
检查一下复位电路,或者测量一下芯片的复位信号。
Xia Sue:
回复 Tony Tang:
这个其实是由于我没有把启动模式调回来出现的状况。我后来把启动模式调回了nand boot mode ,之后再给开发板上电,显示nand boot faile ,booting start uart boot .我就去调试ubl程序,发现是ubl不能正确的读nand flash里的uboot的每块第0页的头,所以ubl才跳转到执行uart boot mode。我猜想这个问题可能是由于ubl和uboot不是一个厂商提供的,或者ubl和uboot一定得用nand_writer_dsp.pjt 程序烧写而不能用sfh_OMAP-L138.exe烧写。
但是我的nand_writer_dsp.pjt一直有问题,经常执行到一个循环里就跳不出来,偶尔跳出循环接着执行强制转换的时候程序就跑飞了。我很郁闷,以前也使用过nand_writer_dsp.pjt烧写过ubl,我也没改过这个程序,但现在就是不能正确执行。头痛啊,不知道该如何解决了。
Xia Sue:
回复 Xia Sue:
刚才又改了一个nand_writer_dsp.pjt烧写ubl的过程,把启动模式改为boot[4:1]=1000,即nandboot mode ,结果能弹出浮窗,但是输入armais和文件路径和文件名的时候,仿真器总会断开连接,不知道是什么问题造成的。
Tony Tang:
回复 Xia Sue:
我明白你的问题了。
#1. 是否每次烧写是先写UBL,再写UBoot? 还是什么时候只写更新过其中某一个?
#2. 我理解你应该用NAND_writer_arm.pjt才能。
你可以看下写UBL与写UBOOT的过程,中间有一个过程要写UBOOT的参数:入口地址,长度等,没有这个参数,UBL无法正确读取UBOOT及启动Uboot。
其实你也可以把Uboot直接转换成AIS格式文件,在AISGEN里加上DDR等的配置即可。具体参考如下(要看你用的UBOOT的版本,是选择uboot还是uboot.bin文件进行转换):
http://processors.wiki.ti.com/index.php/OMAP-L138_LCDK_Linux_Software_Developer%27s_Guide#Creating_your_own_U-Boot_version_that_can_be_flashed_on_LCDK
Xia Sue:
回复 Tony Tang:
问题解决了,还是用sfh_OMAPL138.exe烧写的,只是把ubl里的magicnum改了一下,与uboot在nand存放区第六块第0页的magicnun一致,然后从第六块第六页开始查找header就可以了。果然还是烧写工具不同引起的uboot及magicnum存放区域不同引起的。之前一直都是在第2块的位置。谢了哈!