我目前系统里有一个IAP,2个APP,称为APP1和APP2,分别在FLASH的两个不同区域,我写的IAP只是根据不同的情况在上电后选择跳转到APP1或者APP2,本身不具有升级功能,升级功能是写在APP1和APP2里的。2个APP都有对另一个APP升级的功能,比如当前运行的是APP1,那么就可以对APP2进行升级,反之亦然。现在程序的升级没有问题,但就是从一个APP跳转到另一个APP时会有问题。说起来可能有点乱,举例说明:比如当前运行在APP1,在某时刻对APP2进行升级,升级完毕后通过代码跳转到APP2,结果失败。必须重新复位(硬件复位或者调用复位函数复位)后才能通过IAP跳转到APP2。这证明了APP2的升级是完全正确的。只是必须通过复位来实现跳转,而不能通过在APP1中写代码实现跳转。很奇怪,我在APP1跳转到APP2的时候也已经关闭了所有中断。难道一定要复位吗?应该不是吧。请教各位。 |