硬汉嵌入式论坛

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

[BOOT/IAP] 讨论一种比较合适的IAP方式

  [复制链接]

2

主题

21

回帖

27

积分

新手上路

积分
27
发表于 2022-6-11 09:48:21 | 显示全部楼层 |阅读模式
Hi,

用STM32H743,没有外扩FLash器件(后续考虑),当前我是使用Boot + App 的形式运行:
1. Boot是在Flash前256K空间
2. App 在后面 的Flash空间

当前使用Boot更新App没啥问题,我现在也想能更新Boot,考虑过两种方式:
1. 使用Boot自己更新自己,把Boot放到Ram中运行(还不知道怎么操作)。好处是,同一套代码和流程,只是地址不一样而已。
2. 使用App部分再加入烧写Boot部分代码。比较恶心,总感觉一个IAP干了两次。

不知道大家有什么好想法。特别是硬汉哥的想法。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2022-6-11 09:53:55 | 显示全部楼层
方法1和方法2都可以,都比较简单。
具体你怎么实现的,用户不关心这个,用户仅关心体验好不好使。
回复

使用道具 举报

2

主题

21

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2022-6-11 10:26:07 | 显示全部楼层
eric2013 发表于 2022-6-11 09:53
方法1和方法2都可以,都比较简单。
具体你怎么实现的,用户不关心这个,用户仅关心体验好不好使。

STM32H7将Flash中代码全部加载到Ram,然后在Ram中运行,硬汉哥有推荐学习文档么?
另外,H7  Tool是咋更新Boot的,我每次用感觉很爽。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2022-6-11 10:44:24 | 显示全部楼层
dsl1784 发表于 2022-6-11 10:26
STM32H7将Flash中代码全部加载到Ram,然后在Ram中运行,硬汉哥有推荐学习文档么?
另外,H7  Tool是咋更 ...

制作了一个通过BOOT复制APP程序到AXI SRAM运行的案例,适合H750,H7B0玩
https://www.armbbs.cn/forum.php? ... 2748&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

2

主题

21

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2022-6-11 11:08:03 | 显示全部楼层
eric2013 发表于 2022-6-11 10:44
制作了一个通过BOOT复制APP程序到AXI SRAM运行的案例,适合H750,H7B0玩
https://www.armbbs.cn/forum.p ...

来的早不如来的巧!!    4天前更新。
谢谢哈。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2022-6-11 16:06:45 | 显示全部楼层
dsl1784 发表于 2022-6-11 11:08
来的早不如来的巧!!    4天前更新。
谢谢哈。

造福大家,义不容辞。
回复

使用道具 举报

2

主题

21

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2022-6-11 17:40:44 | 显示全部楼层
eric2013 发表于 2022-6-11 16:06
造福大家,义不容辞。

硬汉哥,啥时候能出个时钟设置到480Mhz & 600Mhz的说明。 现在一致混在400Mhz。 哎,现在出来混社会了,不像在学校那会儿能通宵,通宵的搞试验。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2022-6-11 17:49:08 | 显示全部楼层
dsl1784 发表于 2022-6-11 17:40
硬汉哥,啥时候能出个时钟设置到480Mhz & 600Mhz的说明。 现在一致混在400Mhz。 哎,现在出来混社会了, ...

这个就是480的参考例子,600的我们不做,容易把芯片搞出问题。超频太高了。

STM32H743驱动32bit SDRAM最高时钟是100MHz,实际测试120MHz也可以,提供个参考设置案例
https://www.armbbs.cn/forum.php? ... d=109144&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

19

主题

76

回帖

133

积分

初级会员

积分
133
发表于 2022-6-11 19:08:42 | 显示全部楼层
eric2013 发表于 2022-6-11 10:44
制作了一个通过BOOT复制APP程序到AXI SRAM运行的案例,适合H750,H7B0玩
https://www.armbbs.cn/forum.p ...

能把boot複製到ram嗎
回复

使用道具 举报

214

主题

1087

回帖

1739

积分

至尊会员

More we do, more we can do.

积分
1739
发表于 2022-6-11 23:14:02 | 显示全部楼层
用过方法1实现,不过目前阶段都是设计的boot不可升级
回复

使用道具 举报

2

主题

21

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2022-6-12 10:02:49 | 显示全部楼层
emwin 发表于 2022-6-11 23:14
用过方法1实现,不过目前阶段都是设计的boot不可升级

这种方法会不会有Flash读保护问题,如果从RAM启动,如果开了Flash保护是不能读的,写会不会有问题?
回复

使用道具 举报

2

主题

21

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2022-6-12 10:04:32 | 显示全部楼层
blueice1108 发表于 2022-6-11 19:08
能把boot複製到ram嗎

参照硬汉哥的贴子,可以的。这种方式也是比较常见的boot方式。
回复

使用道具 举报

2

主题

21

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2022-6-12 10:09:17 | 显示全部楼层
eric2013 发表于 2022-6-11 17:49
这个就是480的参考例子,600的我们不做,容易把芯片搞出问题。超频太高了。

STM32H743驱动32bit SDRAM ...

连夜试了下,确实可以哈。
关于Flash等待时间有点疑惑,我只看到在SystemInit中做了设置,这个是在main之前执行的,即是不能自动根据主频来自动调整的,目前看只是通过设置LDO电压等级,来影响FLash的读取速度么?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2022-6-12 10:58:23 | 显示全部楼层
dsl1784 发表于 2022-6-12 10:09
连夜试了下,确实可以哈。
关于Flash等待时间有点疑惑,我只看到在SystemInit中做了设置,这个是在main ...

是在SystemClock_Config做的。不是在main之前。
回复

使用道具 举报

2

主题

21

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2022-6-12 11:07:34 | 显示全部楼层
image.png   
是这部分么,这里只需要设置电压等级嘛。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2022-6-12 11:26:15 | 显示全部楼层
dsl1784 发表于 2022-6-12 11:07
是这部分么,这里只需要设置电压等级嘛。

显然不是这里啊,你有必要对H7的上电执行流程熟悉下了。

image.png
回复

使用道具 举报

2

主题

21

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2022-6-12 20:19:53 | 显示全部楼层
  被伺候舒服了  眼睛都不能安分看看资料了。
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2023-8-10 15:27:21 | 显示全部楼层
请问有代码吗我用的是stm32h750vbt6,只用芯片的128k 的flash
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2023-8-10 15:29:05 | 显示全部楼层
eric2013 发表于 2022-6-11 09:53
方法1和方法2都可以,都比较简单。
具体你怎么实现的,用户不关心这个,用户仅关心体验好不好使。

硬汉哥,他这个做法应该看你哪个教程哇,我也是只用芯片自带的flash做bootloader和app
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2023-8-10 15:56:40 | 显示全部楼层
小花生 发表于 2023-8-10 15:29
硬汉哥,他这个做法应该看你哪个教程哇,我也是只用芯片自带的flash做bootloader和app

这个满足需求不。

制作了一个通过BOOT复制APP程序到AXI SRAM运行的案例,适合H750,H7B0玩
https://www.armbbs.cn/forum.php? ... 2748&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2023-11-3 13:44:04 | 显示全部楼层
你好,请问能发下你的boot更新app的程序吗
回复

使用道具 举报

10

主题

42

回帖

72

积分

初级会员

面霸

积分
72
发表于 2024-6-10 02:48:54 来自手机 | 显示全部楼层
ram小于bin,是不是只能搞分包烧录了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-1 07:13 , Processed in 0.358708 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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