发布网友 发布时间:2022-04-22 12:26
共1个回答
热心网友 时间:2023-09-05 08:36
1、不明白你为什么会写if((*(volatile uint32_t*)APP_ADDRESS & 0x2FFE0000) == 0x20000000),尤其是0x2FFE0000,要判断地址的有效性也不应该用0x2FFE0000这个MASK呀(可能我没看明白)。追答1、给你一个参考:
su32JmpAddr = *(vu32*) (u32AppAddr + 4);
__SETPRIMASK();//屏蔽所有中断
__MSR_MSP(*(vu32*) u32AppAddr); //更新SP
FunJmpToApp();//执行跳转,其实就是载入下条指令(跳转地址)
2、SP的更新就是为了重定位向量表,如果不执行这一操作,APP是跑不起来的