Пример #1
0
static void JumpToApp(void)
{
    if (((*(vu32*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
    { 
        BspClose();
        /* Jump to user application */
        m_JumpAddress = *(vu32*) (ApplicationAddress + 4);
        JumpToApplication = (FunVoidType) m_JumpAddress;

        /* Initialize user application's Stack Pointer */
        MSR_MSP(*(vu32*) ApplicationAddress);
        JumpToApplication();
    }
}
Пример #2
0
void Iap_load(uint32_t addr)
{	
	if(((*(vu32*)addr) & 0x2FFE0000) == 0x20000000)		
	{
		jump = (iapfun) *(vu32*)(addr + 4);					//强制转化为函数
		MSR_MSP(*(vu32*)addr);
		jump();
	}
	else 
	{
		printf("Error\n");
		while(1);
	}
}