硬汉嵌入式论坛

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

[BOOT/IAP] 基于系统bootloader + 用户boot + APP的实现方案模板例子和简易操作说明

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2020-7-25 12:57:50 | 显示全部楼层 |阅读模式
问题由来:
基于BootLoader方式实现的USB DFU和串口IAP,无boot引脚的情况下,覆盖了启动代码怎么办
http://www.armbbs.cn/forum.php?mod=viewthread&tid=99014


解决办法:
(1)
用户boot:
BOOT.rar (11.41 MB, 下载次数: 1507)

APP:
APP.rar (2.58 MB, 下载次数: 441)


用户boot说明:
用户BOOT里面按下按键K1往系统bootloader跳转,按下K2按键往用户APP跳转。

APP:
APP注意如下两个地方
我们当前是把程序放在了0x08100000地址,中断向量表也放在这个位置。





STM32CubeProg下载的时候指定到0x0810 0000下载
5.png





回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
 楼主| 发表于 2020-7-25 13:00:39 | 显示全部楼层
好处就是不需用户编写bootloader代码了,大家仅需要在用户boot里面做下跳转即可,需要更新代码就往系统bootloader里面跳转,需要执行APP就往APP里面跳转。
回复

使用道具 举报

73

主题

1200

回帖

1419

积分

至尊会员

积分
1419
发表于 2020-7-25 13:24:19 | 显示全部楼层
意思就是这个软件可以直接将hex烧写到指定的位置,这点我理解了,那怎么选择运行boot或者app程序呢?默认都是boot先运行的,然后需要跳转在跳转到app运行是吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
 楼主| 发表于 2020-7-25 14:45:34 | 显示全部楼层
wdliming 发表于 2020-7-25 13:24
意思就是这个软件可以直接将hex烧写到指定的位置,这点我理解了,那怎么选择运行boot或者app程序呢?默认都 ...

可以,剩下怎么玩都行,主要提供一种思路。
回复

使用道具 举报

7

主题

125

回帖

146

积分

初级会员

积分
146
发表于 2020-7-26 23:21:16 | 显示全部楼层
hex文件自带地址,如果使用的是hex文件,即使cubeprog里指定了起始地址,cubeprog也会忽略该地址,以hex文件中的地址为主
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
 楼主| 发表于 2020-7-27 09:00:06 | 显示全部楼层
狂野的庄稼汉 发表于 2020-7-26 23:21
hex文件自带地址,如果使用的是hex文件,即使cubeprog里指定了起始地址,cubeprog也会忽略该地址,以hex文 ...

谢谢,这个还真没注意过。
回复

使用道具 举报

8

主题

78

回帖

102

积分

初级会员

积分
102
发表于 2020-7-28 17:27:26 | 显示全部楼层
M0 M3 支持吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
 楼主| 发表于 2020-7-28 17:31:30 | 显示全部楼层

支持。
回复

使用道具 举报

8

主题

78

回帖

102

积分

初级会员

积分
102
发表于 2020-7-28 17:56:28 | 显示全部楼层

很好,回去试试!
回复

使用道具 举报

10

主题

17

回帖

47

积分

新手上路

积分
47
发表于 2020-9-9 10:24:32 | 显示全部楼层
狂野的庄稼汉 发表于 2020-7-26 23:21
hex文件自带地址,如果使用的是hex文件,即使cubeprog里指定了起始地址,cubeprog也会忽略该地址,以hex文 ...

谢谢,这个信息很有用,只要我编译的带了这个地址就好了
回复

使用道具 举报

18

主题

285

回帖

339

积分

高级会员

积分
339
发表于 2020-9-21 15:12:31 | 显示全部楼层
硬汉哥,如果用户的boot区被破坏了,这时怎么IAP?

是不是只能用boot脚进入系统bootloader再更新下用户的boot就可以了?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
 楼主| 发表于 2020-9-21 18:01:32 | 显示全部楼层
木兰花 发表于 2020-9-21 15:12
硬汉哥,如果用户的boot区被破坏了,这时怎么IAP?

是不是只能用boot脚进入系统bootloader再更新下用户的 ...

可以考虑整个MPU保护。
回复

使用道具 举报

18

主题

285

回帖

339

积分

高级会员

积分
339
发表于 2020-9-21 19:06:02 | 显示全部楼层
eric2013 发表于 2020-9-21 18:01
可以考虑整个MPU保护。

硬汉哥有MPU相关的例程吗,以前没接触过,资料很少,谢谢先
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
 楼主| 发表于 2020-9-22 08:22:32 | 显示全部楼层
木兰花 发表于 2020-9-21 19:06
硬汉哥有MPU相关的例程吗,以前没接触过,资料很少,谢谢先

V7的所有例子都有MPU配置。

这两个章节学习下:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980&extra=page%3D1

QQ截图20200922082309.png
回复

使用道具 举报

18

主题

285

回帖

339

积分

高级会员

积分
339
发表于 2020-9-22 10:43:35 | 显示全部楼层
eric2013 发表于 2020-9-22 08:22
V7的所有例子都有MPU配置。

这两个章节学习下:

多谢多谢
回复

使用道具 举报

21

主题

34

回帖

97

积分

初级会员

积分
97
发表于 2020-9-27 12:32:33 | 显示全部楼层
eric2013 发表于 2020-7-27 09:00
谢谢,这个还真没注意过。

2.hex文件和bin文件的对比

1 : HEX文件是包括地址信息的,而BIN文件格式只包括了数据本身。在烧写或下载HEX文件的时候,一般都不需要用户指定地址,因为HEX文件内部的信息已经包括了地址。而烧写BIN文件的时候,用户是一定需要指定地址信息的。

2 :BIN文件格式  对二进制文件而言,其实没有”格式”。文件只是包括了纯粹的二进制数据。

3:HEX文件格式  HEX文件都是由记录(RECORD)组成的。在HEX文件里面,每一行代表一个记录。记录的基本格式为:

IAP升级使用HEX文件好还是bin文件好呢?传输稳定性、安全性对比
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
 楼主| 发表于 2020-9-27 15:19:38 | 显示全部楼层
huhuolianmeng 发表于 2020-9-27 12:32
2.hex文件和bin文件的对比

1 : HEX文件是包括地址信息的,而BIN文件格式只包括了数据本身。在烧写或 ...

如果用这个上位机软件的话,都行。
回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2020-10-3 10:54:45 | 显示全部楼层
正在找这方面资料,可惜16楼没有讲完整
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
 楼主| 发表于 2020-10-3 20:40:35 | 显示全部楼层
scl3917 发表于 2020-10-3 10:54
正在找这方面资料,可惜16楼没有讲完整

16楼的内容不用管,就是我们早期教程的一点点小内容,不影响楼主位的使用。
1.png

2.png

回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2020-10-4 15:38:35 | 显示全部楼层
eric2013 发表于 2020-10-3 20:40
16楼的内容不用管,就是我们早期教程的一点点小内容,不影响楼主位的使用。

多谢!多谢!多谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 07:04 , Processed in 0.286368 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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