硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5504|回复: 11
收起左侧

[BOOT/IAP] 基于BootLoader方式实现的USB DFU和串口IAP,无boot引脚的情况下,覆盖了启动代码怎么办

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2020-7-25 10:49:48 | 显示全部楼层 |阅读模式
由来:

STM32的系统boot,支持串口,CAN,USB,I2C等程序下载。

现在是上电后直接跳转到系统boot,这样就不需要用户自己写boot了。

教程:

V5和V6:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255

V7:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980

解决办法:

就跟大家自己制作boot和app代码一样,可以通过STM32CubeProg将代码下载到系统APP地址,这也就没有覆盖boot跳转代码的问题了。

QQ截图20200725104950.png


案例和操作说明:

基于系统bootloader + 用户boot + APP的实现方案模板例子和简易操作说明
http://www.armbbs.cn/forum.php?mod=viewthread&tid=99017






回复

使用道具 举报

31

主题

76

回帖

169

积分

初级会员

积分
169
发表于 2020-7-25 11:29:27 | 显示全部楼层
我还以为教程里有了具体使用方法,找了半天
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
 楼主| 发表于 2020-7-25 11:32:22 | 显示全部楼层
ssimple 发表于 2020-7-25 11:29
我还以为教程里有了具体使用方法,找了半天

就是CubeProg下载程序到Flash指定位置,这个会不,就是你下载的指定就行了,你的boot程序可以跳转到系统bootloader,也可以跳转到APP。
回复

使用道具 举报

31

主题

76

回帖

169

积分

初级会员

积分
169
发表于 2020-7-25 11:35:58 | 显示全部楼层
eric2013 发表于 2020-7-25 11:32
就是CubeProg下载程序到Flash指定位置,这个会不,就是你下载的指定就行了,你的boot程序可以跳转到系统b ...

嗯嗯,看了一会就理解了,谢谢版主
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
 楼主| 发表于 2020-7-25 12:58:31 | 显示全部楼层
ssimple 发表于 2020-7-25 11:35
嗯嗯,看了一会就理解了,谢谢版主

基于系统bootloader + 用户boot + APP的实现方案模板例子和简易操作说明
http://www.armbbs.cn/forum.php?m ... 9017&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
发表于 2021-4-14 22:21:24 | 显示全部楼层
我将V7的也就是stm32f429的 JumpToBootloader,放到我的项目里,打算用芯片的loader,但是过了几秒钟就重启了,是怎么回事,硬汉兄?芯片是一样的,STM32CubeProgm串口连不到loader,__IO uint32_t BootAddr = 0x1FFF0000; /* STM32F4μÄÏμí3BootLoaderμØÖ· */
地址是看哪个手册得来的?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
 楼主| 发表于 2021-4-15 08:38:45 | 显示全部楼层
hyx 发表于 2021-4-14 22:21
我将V7的也就是stm32f429的 JumpToBootloader,放到我的项目里,打算用芯片的loader,但是过了几秒钟就重启 ...

F429也做例子了,你看下对应的例子:

【安富莱】V6,V5开发板用户手册,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔,更新至50章(2021-02-22)
http://www.armbbs.cn/forum.php?m ... 3255&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
发表于 2021-4-15 11:46:12 | 显示全部楼层
eric2013 发表于 2021-4-15 08:38
F429也做例子了,你看下对应的例子:

【安富莱】V6,V5开发板用户手册,重在BSP驱动包设计方法,HAL库 ...

https://www.cnblogs.com/armfly/p/13373098.html 里面 __IO uint32_t BootAddr = 0x1FF09800;

http://www.armbbs.cn/forum.php?m ... 3255&fromuid=58  V6的的 __IO uint32_t BootAddr = 0x1FFF0000;
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
 楼主| 发表于 2021-4-15 12:29:13 | 显示全部楼层
hyx 发表于 2021-4-15 11:46
https://www.cnblogs.com/armfly/p/13373098.html 里面 __IO uint32_t BootAddr = 0x1FF09800;

http:/ ...

下载例子,以实际例子里面的为准,有时候教程在各个开发板之间复制粘贴容易搞错。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2021-6-2 11:44:52 | 显示全部楼层
学习一下
回复

使用道具 举报

34

主题

111

回帖

213

积分

高级会员

程序小白

积分
213
QQ
发表于 2021-7-4 06:30:22 | 显示全部楼层
F103 仿照V6的程序 使用STM32CubeProg实现串口IAP,除了BootAddr要改,还要修改哪些地方?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
 楼主| 发表于 2021-7-4 08:33:15 | 显示全部楼层
清风徐来 发表于 2021-7-4 06:30
F103 仿照V6的程序 使用STM32CubeProg实现串口IAP,除了BootAddr要改,还要修改哪些地方?

仅修改这个即可。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-2 06:37 , Processed in 0.211603 second(s), 36 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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