OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4444|回复: 6

stm32f407实现iap,BootLoader为什么无法跳转到App?

[复制链接]

22

主题

57

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2013-11-6
在线时间
31 小时
发表于 2020-11-24 12:30:55 | 显示全部楼层 |阅读模式
1金钱

bootLoader 地址设置:
bootloader1.png bootloader2.png


App地址设置:
app1.png app2.png


bootloader 程序中接收到串口数据就跳转到App中,以下是跳转的代码,BootLoader调用跳转之后,bootLoader程序停止运行, 不过App也没起来,像是卡死在某个位置了,请各位大牛帮看看,是地址设置的问题还是跳转部分的代码有问题,谢谢

void startApp(void)
{
typedef  void (*iapfun)(void);
uint32_t JUMP_ADDR = 0x08004000;
uint32_t STACK_ADDR = 0x20000000;
uint32_t RESET_IRQ_ADDR = JUMP_ADDR + 4;
iapfun jump2app;
jump2app = (iapfun)*(volatile uint32_t *)RESET_IRQ_ADDR;
__set_MSP(STACK_ADDR);
__disable_irq();
jump2app();
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

57

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2013-11-6
在线时间
31 小时
 楼主| 发表于 2020-11-24 13:34:49 | 显示全部楼层
刚才试了下在BootLoader中跳转到BootLoader 的Reset 向量的地址,也是不行的,没法自动重启,是跳转函数写的有问题吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-11-25 01:17:14 | 显示全部楼层
用我们例程试试?
回复

使用道具 举报

24

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2017-10-21
在线时间
41 小时
发表于 2020-12-24 10:51:18 | 显示全部楼层

哪里有例程
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-12-25 00:06:42 | 显示全部楼层

IAP实验啊
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2020-4-29
在线时间
32 小时
发表于 2021-1-6 14:42:41 | 显示全部楼层
老哥找到问题了吗,我也是跳转失败。bootloader是标准库的,可以跳到app是标准库的,但是如果是hal库的就跳转失败
回复

使用道具 举报

5

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2020-11-24
在线时间
33 小时
发表于 2021-1-6 14:56:39 | 显示全部楼层
__set_MSP(STACK_ADDR);

不应该是__set_MSP(JUMP_ADDR); 吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 04:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表