1.做两个short 指针,一个强制指到Rom地址,一个指到Ram地址,当做普通数据拷贝就是了,另外thumb 是16位对齐的,不要排错了,
2.不能调用函数名了,得用指针调用了,可以参考那个IAP的程序
if (((*(vu32*)appadr) & 0xFFFF0000 ) == 0x20000000)
{
BspClose();
/* Jump to user application */
JumpAddress = *(vu32*) (appadr + 4);//第二个字为复位向量
JumpToApplication = (FunVoidType) JumpAddress;
/* Initialize user application's Stack Pointer */
__set_MSP(*(vu32*) appadr);//第一个字为堆栈顶值
JumpToApplication();
}
|