19 lines
458 B
C
19 lines
458 B
C
#include "bsp.h"
|
|
#include "iap.h"
|
|
|
|
iapfun jump2app;
|
|
|
|
|
|
//跳转到应用程序段
|
|
//appxaddr:用户代码起始地址.
|
|
void iap_load_app(u32 appxaddr)
|
|
{
|
|
if(((*(vu32*)(FLASH_APP1_ADDR+4))&0xFF000000)==0x08000000)//判断是否为0X08XXXXXX.
|
|
{
|
|
jump2app=(iapfun)*(vu32*)(appxaddr+4); //用户代码区第二个字为程序开始地址(复位地址)
|
|
MSR_MSP(*(vu32*)appxaddr); //初始化APP堆栈指针(用户代码区的第一个字用于存放栈顶地址)
|
|
jump2app(); //跳转到APP.
|
|
}
|
|
}
|
|
|