最近在调试TMS320F28062串口烧录模块,将BootLoader文件编译生成的.hex文件转换为.bin文件,通过SCIA发送到RAM,.bin文件发送完成后,再进行真正的握手,解锁、擦除flash、发送APP文件等步骤。目前出现得问题是,在发送.bin文件的过程中,DSP接收了一部分数据后便不再接收数据,抓取数据可以看到,每发送100个数据,DSP则返回PC同样的数据,.bin文件前边90%多的数据传输都正常,只是到最后几百个字节的时候,PC正常发送,但DSP不会再回复。也没有跳转到EntryPoint位置。
之前没有遇到过这种情况,请大家帮忙分析一下,可能会是什么原因造成的?谢谢!
Seven Han:
请问使用哪种串口烧录工具,还有dsp没有跳转到正确的地方,是否BOOT模式设置的问题呢?
最近在调试TMS320F28062串口烧录模块,将BootLoader文件编译生成的.hex文件转换为.bin文件,通过SCIA发送到RAM,.bin文件发送完成后,再进行真正的握手,解锁、擦除flash、发送APP文件等步骤。目前出现得问题是,在发送.bin文件的过程中,DSP接收了一部分数据后便不再接收数据,抓取数据可以看到,每发送100个数据,DSP则返回PC同样的数据,.bin文件前边90%多的数据传输都正常,只是到最后几百个字节的时候,PC正常发送,但DSP不会再回复。也没有跳转到EntryPoint位置。
之前没有遇到过这种情况,请大家帮忙分析一下,可能会是什么原因造成的?谢谢!
Daisy1:
回复 Seven Han:
Seven Han,首先谢谢您的回答!
1、之前使用的是公司自己出的一种烧录工具,不过后来直接用串口调试助手来发送bootloader的.bin文件,同样的结果,所以,应该与串口烧录工具无关。
2、关于您提到的DSP跳转地址问题,这个是在发送bootloader文件的过程中DSP不再接收数据,还未执行到跳转的部分。DSP接收到keyValue==AA08后,开始执行CopyData的部分,在这个过程中通过抓取数据来看,bootloader文件前边90%的数据都接收正确,剩下的部分便没有再接收到了。
3、如果是Boot模式的问题,那应该在一开始发送.bin文件时候就会出错啊。
另外,发送文件是用4800波特率的。
最近在调试TMS320F28062串口烧录模块,将BootLoader文件编译生成的.hex文件转换为.bin文件,通过SCIA发送到RAM,.bin文件发送完成后,再进行真正的握手,解锁、擦除flash、发送APP文件等步骤。目前出现得问题是,在发送.bin文件的过程中,DSP接收了一部分数据后便不再接收数据,抓取数据可以看到,每发送100个数据,DSP则返回PC同样的数据,.bin文件前边90%多的数据传输都正常,只是到最后几百个字节的时候,PC正常发送,但DSP不会再回复。也没有跳转到EntryPoint位置。
之前没有遇到过这种情况,请大家帮忙分析一下,可能会是什么原因造成的?谢谢!
Seven Han:
回复 Daisy1:
Daisy1不客气
1.你说的这种烧录工具是先将编译好的bin文件载入到工具,然后使用这个工具直接烧录的吗?
2.程序没有载入成功,boot也起不到作用了,尝试下用你相同的方式烧一个小程序能成功不,看下流程是否有问题,或者硬件有无影响?
最近在调试TMS320F28062串口烧录模块,将BootLoader文件编译生成的.hex文件转换为.bin文件,通过SCIA发送到RAM,.bin文件发送完成后,再进行真正的握手,解锁、擦除flash、发送APP文件等步骤。目前出现得问题是,在发送.bin文件的过程中,DSP接收了一部分数据后便不再接收数据,抓取数据可以看到,每发送100个数据,DSP则返回PC同样的数据,.bin文件前边90%多的数据传输都正常,只是到最后几百个字节的时候,PC正常发送,但DSP不会再回复。也没有跳转到EntryPoint位置。
之前没有遇到过这种情况,请大家帮忙分析一下,可能会是什么原因造成的?谢谢!
Daisy1:
回复 Seven Han:
Seven Han ,您好!
上述28062的串口烧录问题已解决。
麻烦再请教一下,用DSP28021,发送完Bootloader文件后DSP没有跳转到正确的地址去执行Bootloader程序,而是又跳转回APP地址,执行应用代码了,但是经测试SCI _Boot()返回的EntryAddr的确是是期望的地址值(RAM中的位置),请问这样的情况还有可能会是什么原因造成的?是在退出Boot模式的时候出错?还是说DSP启动的一些配置代码出错呢?
特别感谢!