zephyr笔记 5.3 设备固件升级DFU

2020-04-17 11:22:24 浏览数 (1)

1 前言

设备固件升级子系统提供必要的框架以在运行时升级基于Zephyr的应用程序的映像。 它目前由两个不同的模块组成:

boot /:引导加载程序的接口代码 img_util /:镜像管理代码

DFU子系统处理镜像管理,但不涉及将镜像发送到目标设备所需的传输或管理协议本身。有关这些协议和框架的信息,请参阅管理部分。

我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。

2 Bootloaders

2.1 MCUboot

Zephyr 直接与开源、跨RTOS的 Bootloader MCUboot 兼容。Zephyr 与 MCUboot 对接过,知道它所需的镜像格式,因此当使用 MCUboot 作为 Bootloader 时,Zephyr 的 Device Firmware Upgrade 可用。源码托管在 MCUboot GitHub Project 页面中。

为了在Zephyr中使用 MCUboot,您需要考虑以下几点:

1.您需要在设备树闪存分区中定义 MCUboot 所需的 MCUboot 分区。 2.您的应用程序的 .conf 文件需要启用 CONFIG_BOOTLOADER_MCUBOOT Kconfig 选项才能使 Zephyr 以 MCUboot 兼容方式构建。 3.您需要编译并烧写 MCUboot 到您的设备上。 4.您可能需要采取预防措施以避免大量擦除闪存,并以正确的偏移量(在引导加载程序之后) 烧写 Zephyr 应用程序映像。

有关 Zephyr 如何使用 MCUboot 的更多详细信息,请参见 MCUboot 网站上 MCUboot with Zephyr 的相关文档。

0 人点赞