Zephyr 4.3.0 发布
Zephyr v4.3.0 如期在 2025.11.14 发布,Zephyr 4.4 的合并窗口已经开启,Zephyr 开始采用新的双年发布周期,下一次发布将在 2026 年 4 月进行。
- Release 文件 https://github.com/zephyrproject-rtos/zephyr/releases/tag/v4.3.0
- Release Notes https://docs.zephyrproject.org/latest/releases/release-notes-4.3.html
- Release Blog https://www.zephyrproject.org/zephyr-4-3-is-here-whats-new/
- 迁移指南(从 4.2.0 迁移到 4.3.0) https://docs.zephyrproject.org/latest/releases/migration-guide-4.3.html
- 配套视频 youtube.com/watch?v=xBVDxpsSqZQ&embeds_referring_euri=https%3A%2F%2Fwww.zephyrproject.org%2F&source_ve_path=OTY3MTQ
官方 Release 博客详细概述 v4.3.0 新功能和亮点的摘要,Release note 可以找到细节,视频对重大变化进行说明和新功能演示,本文一二级标题列出主要更新内容,正文文字列出个人关注的内容。
重大变化 链接到标题
- 废除旧的 USB Device Stack,默认使用下一代 USB Device Stack,支持多控制器和运行时配置。旧的 Stack 在 v4.5.0 移除
- 新增 CPU 负载和动态频率调整子系统,用于平衡功耗和性能。
- 新增测量子系统,简化 Zephyr 应用程序的跟踪和性能分析,允许在运行时记录调用图跟踪和统计性能分析。
- 新增 OCPP 1.6 库,支持电动汽车充电站开发。
- 新增 Twister 显示验证功能,可将 USB 摄像头捕获显示输出与预制样本对比。
- 开发者体验改进
- 引入 dtdoctor 帮助诊断 Device Tree 构建错误
- 引入 traceconfig 追踪 Kconfig 配置值的来源
- 引入 ROM/RAM 可视化分析
- 新增 105 个主板和 39 个扩展板
内容摘要 链接到标题
修补漏洞 链接到标题
详细的说明可以在 https://docs.zephyrproject.org/latest/security/vulnerabilities.html 找到
- CVE 2025-9408:Cortex M 上的用户空间权限提升漏洞
- CVE 2025-9557:2025-11-24 解禁
- CVE 2025-9558:2025-11-24 解禁
- CVE 2025-12035:2025-12-13 解禁
- CVE 2025-12899:2026-1-28 解禁
- CVE 2025-59438: Mbed TLS 中通过密文错误报告计时的填充预言攻击
- CVE 2025-54764: Mbed TLS RSA 密钥生成与操作中的侧信道漏洞(SSBleed、M-Step)
API 变化 链接到标题
重大变更和迁移
- 加密库重构:TinyCrypt 库已被移除。现在官方推荐使用 PSA Crypto API 作为主要的加密库
- 配置方式迁移:一些模块的配置方式正从 Kconfig 向 Devicetree 迁移。(STM32 LPTIM 的时钟源选择现在必须通过 Devicetree 进行)
- API 清理与更新:
- 移除了旧的管道对象 API,推荐使用新的管道 API
- 在蓝牙方面,bt_hci_bus 被废弃,应使用 BT_DT_HCI_BUS_GET
- 哈希计算函数 hash_pkt 的输入缓冲区现在被声明为常量,这有助于提高代码的安全性和正确性
新功能与增强
- 架构支持强化:
- x86 架构引入了控制流强制技术(CET) 支持,包括间接分支跟踪(IBT)和影子栈
- 新增的
z_arm_save_*_context()和z_arm_restore_*_context()函数族,提供 SCB、MPU,FP 状态精细操作底层能力 - 新增 Xtensa 架构的 HIFI 共享模型的配置项
- 新增实验性的动态 CPU 频率调节子系统
- 蓝牙音频与连 host
- 网络协议栈升级:
- CoAP 客户端支持更长的路径和更多额外选项
- MQTT-SN 协议增加了预定义主题等功能
- OpenThread 组件新增了多项配置
- 边界路由器和 DHCPv6 前缀委派客户端支持
- 新子系统与工具
- NVMEM 子系统:引入了非易失性存储器管理子系统,提供了统一的 A,PI 访问 EEPROM 等非易失性存储单元
- 性能分析工具:新增了 instrumentation 子系统,支持调用图分析和统计分析两种模式,帮助开发者进行性能剖析和调试
- 运算放大器支持:新增了运算放大器驱动支持,初始配置通过 Devicetree 完成,运行时则通过供应商特定 API 进行配置
- 调试、日志与质量改进
- 智能日志记录:日志系统新增了速率限制日志宏(LOG_ERR_RATELIMIT,可以有效防止高频日志输出造成的日志洪泛)
其它还涉及 Cellular,Display,Ethernet,Haptics,LVGL,Management,Modem,Newlib,电源管理,Settings,Shell, 状态机框架,Video 等改变,请参考 release note.
主板 & 扩展板 链接到标题
新增 105 个主板和 39 个扩展板,详见 release note。 高通的 国产芯片的有:
- 乐鑫:
- adafruit_feather_esp32:esp32
- esp32_cam: esp32
- esp32h2_devkitm: esp32h2
- glyph_c6: esp32c6
- rak3112: esp32s3
- weact_esp32c3_mini: esp32c3
- weact_esp32s3_mini: esp32s3
- weact_esp32c6_mini: esp32c6
- weact_esp32s3_b: esp32s3
- 思澈科技
- pt2:SF32LB52X
- holyiot_yj17095:SF32LB52X
- 博流
- dt_xt_zb1_devkit: BL702
- ai_m62_12f: BL616(玄铁 E907 内核)
- 微芯瑞:
- roc_rk3588_pc:rk3588
比较有意思的是 RT-Thread 官方的开发板 ART-Pi 也被 Zephyr 支持:art_pi
驱动 链接到标题
新增多个驱动,详见 release note。值得一提的是玄铁的 e907 内核被支持 xuantie,e907。
实例 链接到标题
新增 27 个实例,详见 release note。
库和子系统 链接到标题
- 固件:SCMI 协议支持增强,包括新的参数和配置选项。
- 日志系统:引入了速率限制日志宏,以防止日志泛滥。
- Mbed TLS:更新到 3.6.5 版本,新增了 PSA Crypto API 支持。
- 安全存储:移除实验性状态,正式支持安全存储功能。