这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 大家看看这个【单片机IAP升级程序】的设计思路如何?

共6条 1/1 1 跳转至

大家看看这个【单片机IAP升级程序】的设计思路如何?

工程师
2021-02-15 22:55:32     打赏

大家新年好!
最近我在网上看到如下的一个单片机IAP升级程序(设计思路),大家觉得如何? 有什么地方存在问题或可以改进的吗?


1.分别编制IAP及APP两个程序。

2.MCU复位后,总是先执行IAP程序。并且在IAP程序中,
  通过判断设定条件,来决定是直接跳转到APP程序并执行,
  还是进入对APP程序进行升级的操作。
  APP升级OK,可进入新的APP程序并执行。

3.在IAP程序中,有两种方式可以让其进入APP升级状态:
  a.开机前按下规定的按键不放,则进入升级状态。
  b.读取标志位的值,若为0xA55A,则进入升级状态(升级OK后,
    将其改为0xffff,则下次上电后,若不按升级键,则直接进入APP程序)。

4.在APP执行过程中,当接收到特殊的APP升级命令后,
  则会将标志位的值改为0xA55A,并执行软件复位操作,以让MCU复位并
  进入IAP程序。此时IAP会直接进入APP升级状态。

5.IAP升级按键的意义:
  a.标志位只能在APP中修改,但最开始MCU中只烧录进了IAP程序。所以
    此时可以按下升级键强制让IAP程序进入APP升级状态,将最初版的APP
    程序下载到MCU中。当然也可以将IAP程序和最初版的APP程序的
    HEX文件合二为一,并一次烧录进MCU.下次需要升级APP时,则直接在
    APP中发升级命令即可。
  b.若在运行或升级等过程中,APP程序遭到破坏,且不能再正确接收升级命令时,
    若要升级或恢复APP程序,则只能按升级键并重开机实现了。





关键词: IAP     ISP     在系统升级     在线升级    

工程师
2021-02-15 23:07:29     打赏
2楼

和boot有啥特别区别?


工程师
2021-02-15 23:14:56     打赏
3楼
我也是差不多一直都是这样搞的啊!



工程师
2021-02-15 23:19:01     打赏
4楼

看不出有啥特别的
一般的升级程序都可以从APP跳转到IAP 啊,包括特定按键操作或通讯命令,不需要重新上电的


工程师
2021-02-15 23:54:58     打赏
5楼

设计的挺好的


工程师
2021-02-17 23:58:13     打赏
6楼

思路还是挺清晰的


共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]