今天又查了很久的原因,最终定位问题是由于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文件传到帖子附件,不知道怎么传上来,就不能发出帖子了)
user3726176:
回复 dong wei1:
@dong wei1 您好
我想请教一下那个方法三是怎么去实现呢?我想了解一下思路,谢谢
dong wei1:
回复 user3726176:
开机从flash启动,所以flash起始段要写一段自己的bootloader,boot汇编程序和判断运行程序固化到flash的入口。该程序中判断是否启动应用程序2,应用程序2中带有烧写flash程序+以太网+TCP协议+应用程序,可以在线升级。所启动失败,就boot应用程序1,改程序带EMAC+tcp协议+烧写flash程序,正常情况只启动应用程序2,只有失败了才启动应用程序1.
OK明白了吗?
不懂加我的QQ:409210521
user3726176:
回复 dong wei1:
@dong wei1 您好
那个您说需要用汇编来编写代码,我想您有没有这个关于boot比较全面的文本资料呢?感觉现在资料比较乱,思路不是很清晰,麻烦您多多指教一下
我的qq是:1071255400
wgt Qqian:
回复 Tony Tang:
您好,请问C6655/6657支持用AIS boot吗?麻烦推荐一个比较简单的boot方式,以及资料介绍链接。谢谢。
dong wei1:
回复 wgt Qqian:
最近刚刚用C6657,不清楚是否可以用AIS格式。听说好像不能用!