打印
[N32G03x]

关于N32G003 的IAP跳转问题

[复制链接]
384|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hm985832728|  楼主 | 2023-2-6 12:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在BOOT中使用如下跳转程序:
__asm void MSR_MSP(u32 addr){
    MSR MSP, r0                         //set Main Stack value
    BX r14
}
typedef  void (*iapfun)(void);
iapfun jump2app;
void IAP_Load_App(u32 address){
    // 检查栈顶地址是否合法.
        if(((*(vu32*)address)&0x0FFFFFFF) < 1024*512){
                jump2app = (iapfun)*(vu32*)(address + 4);
                __set_MSP(*(vu32*)address);                                                // 初始化堆栈指针
                jump2app();                                                                                // 跳转到APP.
        }
}

IAP_Load_App(0x08001800)
Boot起始地址为: 0x08000000
APP的起始地址为: 0x08001800
但是上电后,跳转程序并未执行成功(貌似)。是否我的跳转程序有问题?
注:N32G003

使用特权

评论回复
沙发
hm985832728|  楼主 | 2023-2-6 14:21 | 只看该作者
在APP分区代码中,SCB并没有VTOR的定义,如何重定义中断向量地址。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

1

粉丝