eric2013 发表于 2017-5-18 18:43:33

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

说明:
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。


eric2013 发表于 2017-5-18 19:16:19

http://connect.linaro.org/resource/bud17/bud17-100/











byccc 发表于 2017-5-19 11:33:40

Rand1804 发表于 2024-3-5 11:07:59

为什么mcuboot不采用更改启动app地址的方法,而是采用交换Solt0和Solt1分区,固定从Solt0启动?如果采用更改启动app地址的方法,改一下启动地址就可以从Solt1启动,下次更新再从Solt0启动。这样可以省去交换flash内容的时间

eric2013 发表于 2024-3-5 11:52:56

Rand1804 发表于 2024-3-5 11:07
为什么mcuboot不采用更改启动app地址的方法,而是采用交换Solt0和Solt1分区,固定从Solt0启动?如果采用更 ...

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

rgw5267 发表于 2024-3-12 09:15:29

eric2013 发表于 2024-3-5 11:52
这个帖子有点老,可以看下他们新版的,用法是不是更多样了一些。

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

rgw5267 发表于 2024-3-12 09:18:26

Rand1804 发表于 2024-3-5 11:07
为什么mcuboot不采用更改启动app地址的方法,而是采用交换Solt0和Solt1分区,固定从Solt0启动?如果采用更 ...

改启动地址确实可以不用交换分区,但由于不同启动地址的app固件是不同的,所以需要分别准备Slot0地址和Slot1地址的固件,在固件管理上比较麻烦
页: [1]
查看完整版本: 运行大型嵌入式系统有uboot做引导,现在一款适用于MCU的MCUBoot也诞生了,实现一个