Zephyr 4.3.0 发布

Zephyr v4.3.0 如期在 2025.11.14 发布,Zephyr 4.4 的合并窗口已经开启,Zephyr 开始采用新的双年发布周期,下一次发布将在 2026 年 4 月进行。

官方 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 支持。
  • 安全存储:移除实验性状态,正式支持安全存储功能。