在APP跳转到IAP时中断向量表也设置了啊,void JumpToBootLpader(u32 appxaddr)
{
if(((*(vu32*)appxaddr)&0x2FFE0000)==0x20000000) //检查栈顶地址是否合法.
{
BootLoader = (iapfun)*(vu32*)(appxaddr+4); //用户代码区第二个字为程序开始地址(复位地址)
__set_MSP(*(volatile unsigned int*) appxaddr); //初始化APP堆栈指针(用户代码区的第一个字用于存放栈顶地址)
printf("跳转至IAP\r\n");
BootLoader();
}
}这是跳转的代码,appxaddr的值给的0x08000000;那个你说的中断开关的问题,在IAP的mai函数中的初始化解决不了么?
这是我改的代码,有点乱
|
|