设备固件升级
概述
设备固件升级子系统提供了在运行时升级基于Zephyr的应用程序的映像的必要框架。它目前由两个不同的模块组成:
- subsys/dfu/boot/:引导加载程序的接口代码
- subsys/dfu/img_util/:映像管理代码
DFU子系统处理映像管理,但不处理将映像发送到目标设备所需的传输或管理协议本身。有关这些协议和框架的信息,请参阅设备管理部分。
引导加载程序
MCUboot
Zephyr直接兼容开源的cross-RTOS MCUboot引导加载程序。它与MCUboot接口,并知道它所需的图像格式,因此当MCUboot是Zephyr使用的引导加载程序时,设备固件升级可用。源代码本身托管在MCUboot
GitHub项目页面中。
为了在Zephyr中使用MCUboot,您需要考虑以下因素:
- 您将需要定义MCUboot所需的Flash分区;有关详细信息,请参阅Flash映射。
- 您必须指定flash分区为所选择的代码分区
/ {
chosen {
zephyr,code-partition = &a