情况说明:因为实际用的时候28335板子是封装在设备里面的,无法接触,所以只能通过预留的串口进行程序升级。升级过程为通过上
位机(台式机)的串口给开发板监控程序发送要升级的数据文件,开发板监控程序收到数据后烧写到内置flash的相应位置,烧写完成后
重启开发板,开发板运行新烧写的程序。为此,需要编写监控程序,板卡加电后监控程序启动,监控程序如果能收到串口发的某个特
定指令,则进入串口升级流程(上述);否则进入正常流程(监控程序把flash里的应用程序搬到ram中,然后跳到相应的位置执行程序)
。
现在已经实现部分:上位机通过串口发送的数据开发板能接收正确,也能写到相应的flash地址。
问题1:上位机应该给开发板发送编译好的什么格式的文件?out hex还是 bin?
【自己的测试:使用CCS开发环境自带的烧写工具把led.out文件烧到flash里面。程序正常启动(led指示灯周期闪烁)后,查看
0x338000地址开始的数据,该数据跟led.out、led.hex、led.bin文件都不相同。并且0x338000开始的有效数据只有大约4k大小,远小
于bin文件的30多K,更是小于out文件和hex文件大小】
问题2:如果烧写hex文件的话,需要用什么软件把out文件转换成hex文件,我试了几个软件,发现转换成的hex文件各不相同。
问题3:监控程序的程序升级流程,收到的串口数据(升级文件)写到flash的哪个位置?sectorA B C D E F G H都行吗?
问题4:板卡加电之后,监控程序怎么把flash里的程序搬到ram中,然后跳转运行。最好能提供一下参考代码,多谢。