appro dm368ipnc nandwriter的ubl和u-boot烧写问题以及diagnostic for dm368的诊断程序
2012-09-05 21:08
381 查看
新板调试总是挫折不断,问题解决一个就又出来一个,连绵不绝。。。
这次是使用ccs3.3通过nandwriter烧写ubl和u-boot的问题,按照appro的UsersGuide烧写步骤,一直比较顺利,直到提示烧写diagnostic dm368 file,资料里找来找去就是没有这个东西,然后我就选择了skip,调过了此步,ccs提示nand 烧写成功。
但是板子重启后,ubl起来但是u-boot没有起来,提示这样的错误:
DM36x initialization passed!
TI UBL Base Version: 1.50
Boot Loader BootMode = NAND
Starting NAND Copy...
No valid boot image found!
NAND Boot failed.
Aborting...
所以这个问题,不是u-boot没烧进去 就是u-boot烧错位置了,经过查找资料,ubl和u-boot正确的烧写位置应该是:
Uboot starts after block 25, abd UBL is between 1 and 24.
RBL looks for a header of UBL in the block 1 to 24, and UBL (once loaded) looks for a header of UBOOT from the block 25 to block 50.
但是从ccs的log文件看上去,u-boot写入的地址却是:block 0x8 through 0xC.
后来有个好心网友给我传了一个diagnostic_ipnc_dm368_1.0.0.bin,在烧写的最后一步写进去后,重启新板,ubl起来,然后启动了diagnostic也就是诊断程序,而且我发现diagnostic_ipnc_dm368_1.0.0.bin写到的地址是block
0x1B through 0x1F. 而这个地址应该是u-boot该待的地方,后来我重新烧写,烧写到diagnostic dm368 file的时候我没有选择diagnostic_ipnc_dm368_1.0.0.bin,而再烧u-boot-1.3.4-dm368_ipnc_1.0.1.bin,这样,重启后 u-boot终于起来了!!!
diagnostic_ipnc_dm368_1.0.0.bin是一个诊断程序,在裸机状态下测试板子上的资源是否可用,这在生产调试阶段是非常有用的,而开始我却认为他是必要的烧写步骤呢,文盲害死人啊。
在ti的e2e上有一个帖子:
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/62651/749602.aspx#749602
描述的就是这个问题。
结论是,不要太信任appro给你提供的文件,任何事情都有错误的可能,所以解决办法就是自己重新编译nandwriter程序,源码在...\Utils\src下的flash_utils_dm36x_1.1.0.zip ,用ccs3.3编译可能会出现一个错误,这个需要安装ccs的更新来解决,下载地址:
https://www-a.ti.com/downloads/sds_support/CodeGenerationTools.htm#TMS470
找到TMS470 for ccs3.3的当前版本,然后安装到 C\CCStudio3.3\tms470\cgtools下就好了
虽然u-boot是成功启动了,但新问题又来了,网络不通。。。希望明天能够把网络搞通。
新板调试时的心情,可以用忐忑不安来形容
这次是使用ccs3.3通过nandwriter烧写ubl和u-boot的问题,按照appro的UsersGuide烧写步骤,一直比较顺利,直到提示烧写diagnostic dm368 file,资料里找来找去就是没有这个东西,然后我就选择了skip,调过了此步,ccs提示nand 烧写成功。
但是板子重启后,ubl起来但是u-boot没有起来,提示这样的错误:
DM36x initialization passed!
TI UBL Base Version: 1.50
Boot Loader BootMode = NAND
Starting NAND Copy...
No valid boot image found!
NAND Boot failed.
Aborting...
所以这个问题,不是u-boot没烧进去 就是u-boot烧错位置了,经过查找资料,ubl和u-boot正确的烧写位置应该是:
Uboot starts after block 25, abd UBL is between 1 and 24.
RBL looks for a header of UBL in the block 1 to 24, and UBL (once loaded) looks for a header of UBOOT from the block 25 to block 50.
但是从ccs的log文件看上去,u-boot写入的地址却是:block 0x8 through 0xC.
后来有个好心网友给我传了一个diagnostic_ipnc_dm368_1.0.0.bin,在烧写的最后一步写进去后,重启新板,ubl起来,然后启动了diagnostic也就是诊断程序,而且我发现diagnostic_ipnc_dm368_1.0.0.bin写到的地址是block
0x1B through 0x1F. 而这个地址应该是u-boot该待的地方,后来我重新烧写,烧写到diagnostic dm368 file的时候我没有选择diagnostic_ipnc_dm368_1.0.0.bin,而再烧u-boot-1.3.4-dm368_ipnc_1.0.1.bin,这样,重启后 u-boot终于起来了!!!
diagnostic_ipnc_dm368_1.0.0.bin是一个诊断程序,在裸机状态下测试板子上的资源是否可用,这在生产调试阶段是非常有用的,而开始我却认为他是必要的烧写步骤呢,文盲害死人啊。
在ti的e2e上有一个帖子:
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/62651/749602.aspx#749602
描述的就是这个问题。
结论是,不要太信任appro给你提供的文件,任何事情都有错误的可能,所以解决办法就是自己重新编译nandwriter程序,源码在...\Utils\src下的flash_utils_dm36x_1.1.0.zip ,用ccs3.3编译可能会出现一个错误,这个需要安装ccs的更新来解决,下载地址:
https://www-a.ti.com/downloads/sds_support/CodeGenerationTools.htm#TMS470
找到TMS470 for ccs3.3的当前版本,然后安装到 C\CCStudio3.3\tms470\cgtools下就好了
虽然u-boot是成功启动了,但新问题又来了,网络不通。。。希望明天能够把网络搞通。
新板调试时的心情,可以用忐忑不安来形容
相关文章推荐
- (二十三)IDEA 构建一个springboot工程,以及可能遇到的问题
- Unity场景问题,以及老程序DontDestory问题
- STM32 I/O的耐压问题,中断问题,以及如何在Keil (RVMDK) 中观察程序的执行时间
- 个人写程序的准备工作 并且过程中所遇到问题以及解决过程(HT合泰单片机)
- u-boot命令介绍及烧写程序实例
- Linux内核——3个汇编程序bootsect、setup以及system(head.s)
- 程序bug调试以及java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date问题
- 关注程序性能(1)jconsole 连接远程linux上的tomcat,以及解决配置后tomcat关闭不了的问题
- 面试题:this、super、以及程序初始化的顺序问题
- JZ2440如何烧写裸板程序,在 Linux 下使用 dnw 和 u-boot 烧写系统 和 用Tftp 下载
- 新版数采仪问题解决全记录-烧写程序不能正确执行
- QT5常见问题二:程序显示中文乱码以及Linguist打开翻译文件乱码,该如何解决?
- (Java控制台程序版)递归打包整个父文件夹下的文件和子文件夹成压缩文件(*.ZIP)以及打包时常见的文件乱码和文件名乱码以及丢失文件或文件损坏问题解决办法
- Java程序连接数据库(mysql,sql server)以及出现的问题解决
- 程序上下黑边以及iPad程序四周黑边的问题
- 使用J-Link v8和u-boot烧写裸机程序到s3c2440的nand flash(这里假设nor flash已经烧进了u-boot)
- spring boot--整合spring session实现session共享以及cookie丢失问题解决
- Java程序实现Word文档转为pdf以及出现的问题解决
- 2016.3.27-学习笔记:裸板程序、U-Boot、内核、文件系统的烧写
- 移植U-BOOT之支持烧写YAFFS文件系统以及制作U-BOOT补丁