最近用上了新唐的MCU,向量页重新映射的问题一直无法解决。
#define APPLICA
tiON_START_ADDR (0x6000)
__asm INT32U spChange(INT32U _sp)
{
MSR MSP, r0
BX lr
}
void application_run(void)
{
typedef void(*app_entry)(void);
INT32U *vectorTable = (INT32U *)(APPLICATION_START_ADDR);
static INT32U _sp = 0;
static INT32U _pc = 0;
static app_entry app = 0;
_sp = vectorTable[0];
_pc = vectorTable[1];
SYS_UnlockReg();//解除寄存器写保护
FMC_ENABLE_ISP();//使能ISP
app = (app_entry)_pc;
FMC_SetVectorPageAddr(APPLICATION_START_ADDR); //重置中断向量表
spChange(_sp);
app();
while(1);
}