解决stm32 ota程序跳转异常:
ota升级分启动程序BootLoader与跳转的应用程序app,但跳转APP程序后有些中断不关闭,会导致app程序异常重启,所以防止app跳转程序异常需要关闭所有的中断。
解决办法:
- 在BootLoader跳转前关闭所有的中断。
- 在BootLoader跳转后app程序刚启动关闭所有的中断。
我更倾向与方法2,可以解决与BootLoader程序的耦合性。不用管BootLoader是否关闭中断了.
//关闭所有中断,清除所有中断挂起标志
int i = 0;
for ( i = 0; i < 8; i++)
{
NVIC->ICER[i]=0xFFFFFFFF;
NVIC->ICPR[i]=0xFFFFFFFF;
}