TI中文支持网
TI专业的中文技术问题搜集分享网站

程序在线升级

我的想法是将应用程序和升级程序编成一个项目,也就是产生一个.out文件,好处是批量生产方便。运行步骤是:

1.程序上电后首先把所有的代码复制到RAM中运行;

2.执行正常的应用程序;

3.检测到串口或CAN的升级命令后,执行程序中的升级程序;

4.接收新的程序代码(HEX格式),接收的代码保存到RAM其它区内,这里假设RAM空间足够;

5.校验接收的程序是否完整,不正确则重新开始;

6.擦除所有FLASH;

7.将程序从RAM移到FLASH中;

8,复位,重启。

请大师门看看我的方案是否可行?

mangui zhang:可行。需要研究清楚代码引导加载等详细过程。其次RAM空间足够 肯定要外扩

我的想法是将应用程序和升级程序编成一个项目,也就是产生一个.out文件,好处是批量生产方便。运行步骤是:

1.程序上电后首先把所有的代码复制到RAM中运行;

2.执行正常的应用程序;

3.检测到串口或CAN的升级命令后,执行程序中的升级程序;

4.接收新的程序代码(HEX格式),接收的代码保存到RAM其它区内,这里假设RAM空间足够;

5.校验接收的程序是否完整,不正确则重新开始;

6.擦除所有FLASH;

7.将程序从RAM移到FLASH中;

8,复位,重启。

请大师门看看我的方案是否可行?

Seven Han:您可以参考F28M35双核串口升级思路:
e2echina.ti.com/…/121859

我的想法是将应用程序和升级程序编成一个项目,也就是产生一个.out文件,好处是批量生产方便。运行步骤是:

1.程序上电后首先把所有的代码复制到RAM中运行;

2.执行正常的应用程序;

3.检测到串口或CAN的升级命令后,执行程序中的升级程序;

4.接收新的程序代码(HEX格式),接收的代码保存到RAM其它区内,这里假设RAM空间足够;

5.校验接收的程序是否完整,不正确则重新开始;

6.擦除所有FLASH;

7.将程序从RAM移到FLASH中;

8,复位,重启。

请大师门看看我的方案是否可行?

user524568:

回复 mangui zhang:

谢谢你的回复,能说详细点吗?我想的是升级的时候就写一个项目的HEX文件(包含升级代码的应用程序),按照HEX文件的地址把代码写到相应的flash中就可以了。先不考虑RAM空间,还有哪些细节要考虑的呢?

赞(0)
未经允许不得转载:TI中文支持网 » 程序在线升级
分享到: 更多 (0)