|
构想了一种单片机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程序,则只能按升级键并重开机实现了。 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|