硬汉嵌入式论坛

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

[其它] 运行大型嵌入式系统有uboot做引导,现在一款适用于MCU的MCUBoot也诞生了,实现一个

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2017-5-18 18:43:33 | 显示全部楼层 |阅读模式
说明:
1. Bootloader在操作系统接管之前处理硬件上的初始引导顺序。 例如,在启动嵌入式操作系统(如Linux或FreeBSD)之前,U-boot通常在嵌入式系统中用作引导加载程序。 MCUBoot也是一个引导程序,但它瞄准了IoT,这里指的是具有有限内存和存储容量的MCU的系统。
2. 早期MCUBoot是物联网系统Apache Mynewt的一部分,现在独立出来了。
3. 源代码和文档下载:https://github.com/runtimeco/mcuboot
4. 上次的帖子/微信为大家普及了Apache Mynewt:http://www.armbbs.cn/forum.php?mod=viewthread&tid=29918
========================
MCUBoot简介:
1. MCUBoot是32位MCU的安全引导加载程序。 MCUBoot的目标是为引导加载程序定义一个通用的基础架构,在微控制器系统上定义系统闪存布局,并提供安全的引导加载程序,从而实现轻松的软件升级。
2. MCUboot是操作系统和硬件独立的,并且依赖于其工作的操作系统的硬件移植层。 目前,mcuboot与Apache Mynewt和Zephyr操作系统一起工作,但将来计划支持更多其它RTOS
3 由于资源受限,bootloader仅需要一个flash驱动,单线程和一个加密服务即可。
4. MCUBoot项目旨在解决安全和现场固件更新。为了实现固件更新,Flash分为四个部分,
(1)Bootloader,用于系统引导加载。
(2)Slot0,用于代码运行,应该就是APP部分。
(3)Slot1,用于固件升级。
(4)Scratch,暂存分区,用于在需要升级时交换Slot。
MCUboot-Flash-Layout-768x325.png

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2017-5-18 19:16:19 | 显示全部楼层
http://connect.linaro.org/resource/bud17/bud17-100/
BUD17-100 - mcuboot bootloader for Zephyr.pdf (4.57 MB, 下载次数: 299)

2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
10.png
11.png
回复

使用道具 举报

36

主题

2039

回帖

2147

积分

至尊会员

积分
2147
发表于 2017-5-19 11:33:40 | 显示全部楼层
[s:151] [s:151]
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2024-3-5 11:07:59 | 显示全部楼层
为什么mcuboot不采用更改启动app地址的方法,而是采用交换Solt0和Solt1分区,固定从Solt0启动?如果采用更改启动app地址的方法,改一下启动地址就可以从Solt1启动,下次更新再从Solt0启动。这样可以省去交换flash内容的时间
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2024-3-5 11:52:56 | 显示全部楼层
Rand1804 发表于 2024-3-5 11:07
为什么mcuboot不采用更改启动app地址的方法,而是采用交换Solt0和Solt1分区,固定从Solt0启动?如果采用更 ...

这个帖子有点老,可以看下他们新版的,用法是不是更多样了一些。
回复

使用道具 举报

14

主题

61

回帖

103

积分

初级会员

积分
103
发表于 2024-3-12 09:15:29 | 显示全部楼层
eric2013 发表于 2024-3-5 11:52
这个帖子有点老,可以看下他们新版的,用法是不是更多样了一些。

硬汉有用过MCUBoot吗,最近准备用在STM32上,使用MDK开发。现在只通过文档了解了一下机制,感觉是不是不能通过MDK直接下载了?
回复

使用道具 举报

14

主题

61

回帖

103

积分

初级会员

积分
103
发表于 2024-3-12 09:18:26 | 显示全部楼层
Rand1804 发表于 2024-3-5 11:07
为什么mcuboot不采用更改启动app地址的方法,而是采用交换Solt0和Solt1分区,固定从Solt0启动?如果采用更 ...

改启动地址确实可以不用交换分区,但由于不同启动地址的app固件是不同的,所以需要分别准备Slot0地址和Slot1地址的固件,在固件管理上比较麻烦
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 02:29 , Processed in 0.178939 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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