我的想法是将应用程序和升级程序编成一个项目,也就是产生一个.out文件,好处是批量生产方便。运行步骤是:
1.程序上电后首先把所有的代码复制到RAM中运行;
2.执行正常的应用程序;
3.检测到串口或CAN的升级命令后,执行程序中的升级程序;
4.接收新的程序代码(HEX格式),接收的代码保存到RAM其它区内,这里假设RAM空间足够;
5.校验接收的程序是否完整,不正确则重新开始;
6.擦除所有FLASH;
7.将程序从RAM移到FLASH中;
8,复位,重启。
请大师门看看我的方案是否可行?