硬汉嵌入式论坛

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

[BOOT/IAP] STM32内置只读Bootloader相对其他bootloader有哪些优缺点?

  [复制链接]

19

主题

72

回帖

129

积分

初级会员

积分
129
发表于 2020-8-26 10:57:00 | 显示全部楼层 |阅读模式
STM32内置只读Bootloader相对其他bootloader有哪些优缺点?

内置bootloader升级的过程中做了哪些事情?如果升级失败,应用程序还能恢复到之前的状态吗?


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2020-8-26 11:25:00 | 显示全部楼层
回复

使用道具 举报

19

主题

72

回帖

129

积分

初级会员

积分
129
 楼主| 发表于 2020-8-26 11:27:56 | 显示全部楼层
eric2013 发表于 2020-8-26 11:25
教程里面进行了详细说明
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980&extra=page%3D1

硬汉哥威武,我研究一下。
回复

使用道具 举报

19

主题

72

回帖

129

积分

初级会员

积分
129
 楼主| 发表于 2020-8-26 12:54:13 | 显示全部楼层
eric2013 发表于 2020-8-26 11:25
教程里面进行了详细说明
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980&extra=page%3D1

硬汉哥,我有个疑惑。STM32F1系列只能通过跳转BOOT脚来切换到内建Bootloader吗?STM32H7可以在应用程序中跳转。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2020-8-26 14:58:57 | 显示全部楼层
血染风采2017 发表于 2020-8-26 12:54
硬汉哥,我有个疑惑。STM32F1系列只能通过跳转BOOT脚来切换到内建Bootloader吗?STM32H7可以在应用程序中 ...

正常情况下,STM32的所有系列都支持。
回复

使用道具 举报

7

主题

114

回帖

135

积分

初级会员

积分
135
发表于 2020-8-26 22:42:10 | 显示全部楼层
血染风采2017 发表于 2020-8-26 12:54
硬汉哥,我有个疑惑。STM32F1系列只能通过跳转BOOT脚来切换到内建Bootloader吗?STM32H7可以在应用程序中 ...

都支持,F1系列已经测试过,好处就是,无需自己开发新的上位机,坏处就是烧写过程中没有对数据进行任何加密措施
回复

使用道具 举报

28

主题

274

回帖

358

积分

高级会员

积分
358
发表于 2020-8-27 08:25:15 | 显示全部楼层
F030 已测试 OK 支持 应用直接跳转
回复

使用道具 举报

19

主题

72

回帖

129

积分

初级会员

积分
129
 楼主| 发表于 2020-8-27 09:07:42 | 显示全部楼层
eric2013 发表于 2020-8-26 14:58
正常情况下,STM32的所有系列都支持。

理论上来说都支持,但是程序跳转过去之后,使用STM32CubeProgrammer连接串口的时候,软件提示Error: Activating device: KO,,,, 此时BOOT0=0。 如果BOOT=1的话,一切都是正常的。我用的是STM32F103RBT6测试的。
回复

使用道具 举报

19

主题

72

回帖

129

积分

初级会员

积分
129
 楼主| 发表于 2020-8-27 09:10:47 | 显示全部楼层
596142041 发表于 2020-8-26 22:42
都支持,F1系列已经测试过,好处就是,无需自己开发新的上位机,坏处就是烧写过程中没有对数据进行任何加密措 ...

BOOT=0时,从应用程序跳转过去之后,STM32CubeProgrammer使用串口连接不上。用的是STM32F103RBT6。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2020-8-27 11:41:35 | 显示全部楼层
血染风采2017 发表于 2020-8-27 09:07
理论上来说都支持,但是程序跳转过去之后,使用STM32CubeProgrammer连接串口的时候,软件提示Error: Acti ...

继续研究,特别注意系统bootloader的地址,整准了,官方手册不一定对,H7系列的就不对。

是我那个时候在官网搜了好多次才整对

回复

使用道具 举报

5

主题

133

回帖

148

积分

初级会员

积分
148
发表于 2020-9-3 18:28:12 | 显示全部楼层
用系统bootloader是不是不能开启读保护呀?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2020-9-4 01:46:03 | 显示全部楼层
无关风月 发表于 2020-9-3 18:28
用系统bootloader是不是不能开启读保护呀?

这里有说明

STM32H7内部Flash的读保护说明(Level0默认,Level1连接保护,Level2设备和自举保护)
http://www.armbbs.cn/forum.php?m ... 6660&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

5

主题

133

回帖

148

积分

初级会员

积分
148
发表于 2020-9-4 10:13:58 | 显示全部楼层
085659dxzs2shjmqjstkpo.jpg
谢谢,看明白了,开启读保护后,不能使用系统bootloader
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2020-9-4 10:42:56 | 显示全部楼层
无关风月 发表于 2020-9-4 10:13
谢谢,看明白了,开启读保护后,不能使用系统bootloader

LEVEL1读保护是可以的。
回复

使用道具 举报

5

主题

133

回帖

148

积分

初级会员

积分
148
发表于 2020-9-4 11:19:06 | 显示全部楼层
eric2013 发表于 2020-9-4 10:42
LEVEL1读保护是可以的。

微信图片_20200904111641.png
我试了一下,开了读保护,会提示这个,点确定就断开连接了。
回复

使用道具 举报

5

主题

133

回帖

148

积分

初级会员

积分
148
发表于 2020-9-4 11:24:12 | 显示全部楼层
eric2013 发表于 2020-9-4 10:42
LEVEL1读保护是可以的。

085659jec12wat75ccfaaw.jpg

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2020-9-4 11:35:57 | 显示全部楼层
无关风月 发表于 2020-9-4 11:19
我试了一下,开了读保护,会提示这个,点确定就断开连接了。

早期的Flashloader是的可以。有个帖子找不到了,会提示进行大容量擦除才可以解除保护。

回复

使用道具 举报

10

主题

17

回帖

47

积分

新手上路

积分
47
发表于 2020-9-8 16:50:12 | 显示全部楼层
eric2013 发表于 2020-8-26 11:25
教程里面进行了详细说明
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980&extra=page%3D1

百度网盘还没更新这几个例程吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2020-9-9 01:47:21 | 显示全部楼层
ndthome 发表于 2020-9-8 16:50
百度网盘还没更新这几个例程吗

早已经更新了,http://www.armbbs.cn/forum.php?mod=viewthread&tid=86446&extra=page%3D1


教程:
1.png

例子:

3.png
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2021-12-20 15:29:22 | 显示全部楼层
血染风采2017 发表于 2020-8-27 09:07
理论上来说都支持,但是程序跳转过去之后,使用STM32CubeProgrammer连接串口的时候,软件提示Error: Acti ...

您好,我用H743也遇到了这个问题,请问您最后是怎么解决的?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2021-12-21 08:44:16 | 显示全部楼层
realsun16 发表于 2021-12-20 15:29
您好,我用H743也遇到了这个问题,请问您最后是怎么解决的?

H7系列参考我19楼的例子就行。
回复

使用道具 举报

335

主题

2038

回帖

3048

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3048
发表于 2021-12-24 08:49:42 | 显示全部楼层
本帖最后由 caicaptain2 于 2021-12-24 08:50 编辑
eric2013 发表于 2021-12-21 08:44
H7系列参考我19楼的例子就行。

学习了案列,只讲到了让MCU跳转进入自带的BootLoader程序。 后面刷程序还是需要连接官方的programmer。

希望能出个简易的串口通讯程序例程,比如先后发送什么指令,可以把程序代码刷入到MCU中。。。那么,电脑上用个串口助手,就能把程序刷进去多好!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2021-12-24 09:12:20 | 显示全部楼层
caicaptain2 发表于 2021-12-24 08:49
学习了案列,只讲到了让MCU跳转进入自带的BootLoader程序。 后面刷程序还是需要连接官方的programmer。
...

早期我们是那种方式,倒腾的YMODEM,现在不用了,繁琐,还得需要用户做了个BootLoader。

STM32-V5开发板串口IAP操作说明(例子:V5_136_串口IAP)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=7095

使用STM32CubeProg多方便,不管以后出什么新品,都可以用,真正的无痛升级。实战性杠杠的。
回复

使用道具 举报

335

主题

2038

回帖

3048

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3048
发表于 2021-12-24 09:21:54 | 显示全部楼层
eric2013 发表于 2021-12-24 09:12
早期我们是那种方式,倒腾的YMODEM,现在不用了,繁琐,还得需要用户做了个BootLoader。

STM32-V5开发 ...

我想着,配置一个串口助手,连续的字符串发送,是不是就可以替代st的programmer了?  毕竟官方的下载软件比较大,串口助手免安装。
Snipaste_2021-12-24_09-19-58.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2021-12-24 09:31:21 | 显示全部楼层
caicaptain2 发表于 2021-12-24 09:21
我想着,配置一个串口助手,连续的字符串发送,是不是就可以替代st的programmer了?  毕竟官方的下载软件 ...

串口助手倒是问题不大,麻烦的是每次换芯片都要倒腾BootLoader,这个就有点繁琐。
回复

使用道具 举报

0

主题

20

回帖

20

积分

新手上路

积分
20
发表于 2021-12-24 15:23:09 | 显示全部楼层
eric2013 发表于 2021-12-24 09:12
早期我们是那种方式,倒腾的YMODEM,现在不用了,繁琐,还得需要用户做了个BootLoader。

STM32-V5开发 ...

很多时候,升级不仅是一对一,还想在一条通讯链路上升级多台设备,比如多联机空调,这种方式就得自己做 Bootloader

YMODEM 也是一对一, 想用还得改造
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2021-12-25 09:21:32 | 显示全部楼层
x.or@qq.com 发表于 2021-12-24 15:23
很多时候,升级不仅是一对一,还想在一条通讯链路上升级多台设备,比如多联机空调,这种方式就得自己做 B ...

串口的这种感觉意义不大,要控制同时升级非常不方便(同时多路应答控制不方便),一般都是一主多从的方式,升级一次速度太慢了,特别是升级外置的几十MB的字库,图库问题,这东西完全没法用了。

专业点的玩法依然是搞出10几路主控处理,1对1,比如这个1拖16串口升级。

Dialog推出的生产线工具(Production Line Tool)
https://www.armbbs.cn/forum.php? ... d=105499&fromuid=58
(出处: 硬汉嵌入式论坛)



回复

使用道具 举报

0

主题

20

回帖

20

积分

新手上路

积分
20
发表于 2021-12-25 13:15:50 | 显示全部楼层
eric2013 发表于 2021-12-25 09:21
串口的这种感觉意义不大,要控制同时升级非常不方便(同时多路应答控制不方便),一般都是一主多从的方式 ...

这个不适合已出厂, 已安装调试好机组啊 ~
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2021-12-25 13:29:57 | 显示全部楼层
x.or@qq.com 发表于 2021-12-25 13:15
这个不适合已出厂, 已安装调试好机组啊 ~

确实,出厂的话就是另一种玩法了,自己做个BootLoader是最合适的,怎么玩都方便。

出厂的话,你们这个是厂家自己去下载程序吗,还是给客户个工具,让客户自己去升级。让客户自己升级貌似不现实,因为不是每个客户都会操作这个。
回复

使用道具 举报

0

主题

20

回帖

20

积分

新手上路

积分
20
发表于 2021-12-25 14:03:38 | 显示全部楼层
eric2013 发表于 2021-12-25 13:29
确实,出厂的话就是另一种玩法了,自己做个BootLoader是最合适的,怎么玩都方便。

出厂的话,你们这个 ...

考虑做 FOTA,论坛里找方案呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2021-12-26 09:56:20 | 显示全部楼层
x.or@qq.com 发表于 2021-12-25 14:03
考虑做 FOTA,论坛里找方案呢

对,这种方案可以,就是要联网。不过空调之类的智能家居可以。
回复

使用道具 举报

0

主题

9

回帖

9

积分

新手上路

积分
9
发表于 2021-12-26 15:31:46 | 显示全部楼层
不能加密,产品根本用不了啊
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107046
QQ
发表于 2021-12-26 15:38:25 | 显示全部楼层
dufanbao 发表于 2021-12-26 15:31
不能加密,产品根本用不了啊

外置硬件加密芯片,简单易用,比自己倒腾方便太多了。

Microchip为硬件加密芯片ATECC608A带来视频培训,支持安全启动和连接云端加密,批量仅0.5$,比软件加密方便
https://www.armbbs.cn/forum.php? ... 6998&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 13:24 , Processed in 0.385772 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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