[N32G03x] 关于N32G003 的IAP跳转问题

[复制链接]
1772|9
 楼主| hm985832728 发表于 2023-2-6 12:02 | 显示全部楼层 |阅读模式
我在BOOT中使用如下跳转程序:
  1. __asm void MSR_MSP(u32 addr){
  2.     MSR MSP, r0                         //set Main Stack value
  3.     BX r14
  4. }
  5. typedef  void (*iapfun)(void);
  6. iapfun jump2app;
  7. void IAP_Load_App(u32 address){
  8.     // 检查栈顶地址是否合法.
  9.         if(((*(vu32*)address)&0x0FFFFFFF) < 1024*512){
  10.                 jump2app = (iapfun)*(vu32*)(address + 4);
  11.                 __set_MSP(*(vu32*)address);                                                // 初始化堆栈指针
  12.                 jump2app();                                                                                // 跳转到APP.
  13.         }
  14. }

IAP_Load_App(0x08001800)
Boot起始地址为: 0x08000000
APP的起始地址为: 0x08001800
但是上电后,跳转程序并未执行成功(貌似)。是否我的跳转程序有问题?
注:N32G003
 楼主| hm985832728 发表于 2023-2-6 14:21 | 显示全部楼层
在APP分区代码中,SCB并没有VTOR的定义,如何重定义中断向量地址。。

评论

同问  发表于 2025-1-17 13:54
77大五 发表于 2024-6-17 23:42 | 显示全部楼层
hm985832728 发表于 2023-2-6 14:21
在APP分区代码中,SCB并没有VTOR的定义,如何重定义中断向量地址。。

解决了吗,我遇到类似的问题,跳转了,但是中断没跑起来。
埃娃 发表于 2024-6-28 17:59 | 显示全部楼层
77大五 发表于 2024-6-17 23:42
解决了吗,我遇到类似的问题,跳转了,但是中断没跑起来。

这解决了没有啊
申小林一号 发表于 2024-10-30 21:32 | 显示全部楼层
有跳转函数
一路向北lm 发表于 2024-10-31 11:03 | 显示全部楼层
我发现国民的一个bug,代码放在ram中运行,执行跳转后中断无法效应,希望国民的研发测试一下这个问题
flycamelaaa 发表于 2025-1-7 17:20 | 显示全部楼层
检查是否有任何缓存或MMU设置可能影响从Flash读取指令或数据。
laocuo1142 发表于 2025-1-7 17:20 | 显示全部楼层
跳转之前禁用了所有可能干扰应用程序执行的中断或异常。
地瓜patch 发表于 2025-1-22 08:25 来自手机 | 显示全部楼层
跳转到地址是怎么确定的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部