This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F28069串口升级,怎么把程序从串口写入FLASH中运行

我按照以前发的一个串口升级程序的帖子方法进行串口升级

www.deyisupport.com/.../17664.aspx

现在可以实现将程序写入RAM中运行,但是一断电程序就没有了,请问怎么实现把程序下到FLASH中运行?

我知道可以采用C2prog.exe,因为项目的需要,我必须知道串口发送的协议,要用我们自己的控制器实现程序升级的功能,我就是不知道C2prog.exe的通讯协议,才采用上述方法升级的。

请ti工程师和高手帮忙解答,谢谢!或者怎么把RAM的程序写入flash中运行?

  • 调用flash API驱动函数,将ram里的程序写到flash

  • ti的串口烧写没有协议的 协议要自己写

  • 我现在为了避免串口升级时跳线的麻烦,在应用程序中添加了接收到升级命令后跳转到_rim_SCI_Boot的入口进行串口升级,发送“A”也可正常返回“A”,然后发送升级的文件,此时有两个问题:

    1.跳转后原应用程序还在运行,因为定时中断的指示灯还在闪,怎么把原应用程序停下来?

    2.因为原应用程序在运行,所以FLASH的擦除和写入工作就无法进行,我应该怎么做?

    我如果自己编写升级程序(升级程序包含在应用程序中)也存在一样的问题呀,请高手指点。

  • 我理解可以通过以下两种方法解决实现不跳线串口升级程序:

    1.收到升级命令后,设置让程序从ROM_SCI_BOOT启动,然后复位,从串口引导启动后开始写应用程序;

    2.收到命令,把升级部分的代码考到RAM中运行,擦除所以的flash,然后跳转到ROM_SCI_BOOT进行升级。

    TI工程师帮忙看看上述两种方案是否可行,有现成的例程吗?