硬汉嵌入式论坛

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

[BOOT/IAP] 开个帖子讨论讨论下boot更新时把boot和app一起更新的方法

[复制链接]

23

主题

101

回帖

170

积分

初级会员

积分
170
发表于 2024-12-25 13:57:34 | 显示全部楼层 |阅读模式
一般boot更新程序的时候只更新APP程序,这个比较简单,boot和app有各自的程序区域,更新APP就把APP所在区域擦除、重新写入。

但是如果boot也需要一同更新的话就比较麻烦了,boot程序所在区域不能擦除,那这时候是不是需要把boot程序先搬运到RAM,在RAM中执行boot程序。
大家还有其他方法吗?
PS:把boot程序先搬运到RAM中执行似乎也是挺麻烦的,有什么好方法吗?大佬们来讨论下。
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
发表于 2024-12-25 14:17:16 | 显示全部楼层
还有双boot的方法,但是我没有用过
回复

使用道具 举报

28

主题

278

回帖

362

积分

高级会员

积分
362
发表于 2024-12-25 14:27:58 | 显示全部楼层
APP程序擦除boot 区域,不需要  搬运到 RAM 运行啊 , APP 程序 寻址 只会在 APP 所在区域,不会跳到 boot 区域的 , boot 擦除 有掉电风险 !
回复

使用道具 举报

23

主题

101

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2024-12-25 14:56:14 | 显示全部楼层
zmsxhy 发表于 2024-12-25 14:17
还有双boot的方法,但是我没有用过

boot1更新boot2,boot2更新boot1吗?但是也不能一次性把boot和app一起更新了吧
回复

使用道具 举报

23

主题

101

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2024-12-25 15:02:50 | 显示全部楼层
suozhang 发表于 2024-12-25 14:27
APP程序擦除boot 区域,不需要  搬运到 RAM 运行啊 , APP 程序 寻址 只会在 APP 所在区域,不会跳到 boot  ...

这是在APP里面更新boot程序吧,那也不能一次性把APP和BOOT都更新了。
关于掉电的问题属于另外一个话题,一般需要把程序做备份
回复

使用道具 举报

356

主题

2180

回帖

3253

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3253
发表于 2024-12-25 15:04:39 | 显示全部楼层
这种最好双boot区,分别把另一个boot区当做app操作即可。 早期的电脑主板就是这么操作的。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2024-12-26 07:45:12 | 显示全部楼层
如果是H7的话,支持从Flash任意地址启动,  更新BOOT时,可以设置直接从APP地址启动,防止掉电,更新完毕再切回来
回复

使用道具 举报

6

主题

306

回帖

324

积分

高级会员

积分
324
发表于 2024-12-26 08:40:56 | 显示全部楼层
更新BOOT一般用芯片厂家的ISP串口软件更新,在RAM中更新是太麻烦。
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
发表于 2024-12-26 13:21:11 | 显示全部楼层
shibinjie 发表于 2024-12-25 14:56
boot1更新boot2,boot2更新boot1吗?但是也不能一次性把boot和app一起更新了吧

可以啊,比如boot2和app的地址是联在一起的就可以一起更新。和用jlink把boot和app合在一个hex里写入flash,是一样的。
为什么一定要一起更新呢~~
回复

使用道具 举报

1

主题

60

回帖

63

积分

初级会员

积分
63
发表于 2025-1-4 16:40:02 | 显示全部楼层
这个搞不好, 更新一半掉电, 会变砖
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2025-1-5 13:05:41 | 显示全部楼层
APP中更新BOOT不就行了吗。说明书写明白禁止升级过程中断电。
回复

使用道具 举报

6

主题

16

回帖

34

积分

新手上路

积分
34
发表于 2025-1-9 18:33:17 | 显示全部楼层
昨天刚好有这个需求H750片子,只有一个扇区还要求boot更新应用程序,最终实现就是将boot程序跑在ram上,然后接收完app程序后,全部擦除,重写boot和app。。。。
eric提到的,任意位置启动需要连仿真器,机箱里面插不进去仿真器了。。。刚开始也考虑掉电风险,后面就算出现掉电,也得插仿真器。。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-14 07:49 , Processed in 0.042833 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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