新手入门
- 积分
- 13
- 金钱
- 13
- 注册时间
- 2017-6-30
- 在线时间
- 6 小时
|
楼主 |
发表于 2017-12-13 09:36:25
|
显示全部楼层
void iap_load_app(u32 appxaddr)
{
temp=*(vu32*)appxaddr;
temp=((*(vu32*)appxaddr)&0x2FFD0000);//0x2FFE0000---128k 0x2FFD0000-190K
//下载APP程序后,返回来跑LODAER的仿真,发现地址大于了0X1FFFF这个值正常吗?(STM32F429--APP代码比较多)
导致不更改这个 0x2FFE0000,检查栈顶合法if语句通不过!!!
if(((*(vu32*)appxaddr)&0x2FFD0000)==0x20000000)
{
jump2app=(iapfun)*(vu32*)(appxaddr+4);
__set_PSP(*(volatile unsigned int*) appxaddr);
__set_CONTROL(0);
__set_MSP(*(volatile unsigned int*) appxaddr);
__disable_irq();
__set_FAULTMASK(1);
jump2app();
}
}
|
|