今天又查了很久的原因,最终定位问题是由于TI工具有问题。
检测出TI工具异常的步骤如下:
1. 用\c642x_ais_utility\Example\docExample\Example genAIS,将该文件中的docExample_uart.ais用串口可以正常用串口BOOT。
2. 但是用自己的一个工程生成的.out文件,用该工具转成ais文件(63816字节数据量),用串口BOOT总是提示数据破损,于是我将数据中text段数据去掉(从5853590110800000到该text段的Negative Pointer to Last Valid Command in Stream命令删除,保留其他的初始化段(.cinit ,.const ,.switch)。EVM6424就能正常返回DONE, 现在能说明什么问题?说明程序段转化出问题了。
如果用\c642x_ais_utility\Example\docExample\Debug的.out文件用该工具转换成ais,估计不到100字节,这样的串口BOOT就正常。大一点工程转化,就会把程序段弄出问题。。(额外补充说明,我用的工程生成的.out文件用jatg下载到EVM6424的RAM中可以正常运行,所以不用怀疑我的工程有问题).
急需TI,能给一个正确的转换转换工具!!(我想把我的工程生成的.out文件传到帖子附件,不知道怎么传上来,就不能发出帖子了)