Bootloader和App中都用到了串口,定时器等,所以从Bootloader跳转App后未卡死。
后来写的另一个App里没有用到这几个外设,然后就是无限的卡死。
现在Bootloader中跳转App之前将已打开的外设关掉,再跳转至App就不再出现卡死。
if(((*(vu32*)(APPLICATION_ADDRESS+4))&0xFF000000)==0x08000000)
{
__disable_irq(); //解决方法
iap_load_app(APPLICATION_ADDRESS);
}
上述更改会出现跳到APP后的中断也无法执行,加入__enable_irq() ;开总中断后,APP跟之前一样卡死。
接下来:
IAP <->User Program 需要注意的问题
要设置好好中断向量的问题,假设User Program 开始地址是(0x08008000),那么中断向量就必须