Zephyr 4.3.0

我们很高兴地宣布 Zephyr 4.3.0 版本正式发布。

本次发布的主要增强包括:

USB 设备 “Next” 栈现在是默认选项

新的 USB 设备栈 基于现代的 UDC(USB Device Controller)API 构建,取代了旧版协议栈,支持多个控制器同时工作、运行时配置,并具有整体更好的架构。旧版协议栈现已弃用,并将在 Zephyr 4.5 中移除。

CPU 负载与动态频率调节子系统

新的实验性 CPU 频率 调节子系统支持由策略驱动的动态时钟调整,以平衡功耗与性能。与之配套的新 CPU 负载 子系统允许用户基于调度器统计信息获取 CPU 使用率指标,可用于驱动频率调节策略。

插桩子系统

新的 插桩子系统 利用编译器管理的函数插桩,简化了 Zephyr 应用的跟踪与性能分析,可在运行时记录调用图跟踪和统计性能剖析数据。

OCPP 1.6 库

新的 OCPP(Open Charge Point Protocol) 库支持使用 Zephyr 开发电动汽车充电桩。该库通过 WebSocket 实现 OCPP 1.6 Charge Point 功能,支持核心配置文件操作,包括授权、事务管理以及与 Central System 服务器通信的电表值上报。

Twister 显示测试装置

Twister 现在可以 验证目标板上的显示输出,方法是采集 USB 摄像头的帧,并与预先录制的视觉“指纹”进行匹配。

开发者体验改进

本次发布引入了多个新工具,帮助完成常见的开发与故障排查任务:

开发板支持扩展

本次发布新增了对 105 个 新开发板 和 39 个 新扩展板 的支持。

将应用从 Zephyr v4.2.0 迁移到 Zephyr v4.3.0 时需要或建议采取的变更概览,见单独的 迁移指南。

以下小节按组件详细列出各项变更。

安全漏洞相关

本版本修复了以下 CVE:

更多详细信息请参阅:https://docs.zephyrproject.org/latest/security/vulnerabilities.html

API 变更

  • 加密

    • hash_pkt 中的输入缓冲区现在为常量

移除的 API 和选项

  • TinyCrypt 库已被移除,因为上游版本不再维护。现在推荐使用 PSA Crypto API 作为 Zephyr 的加密库。

  • 旧版管道对象 API 已移除。请改用新的管道 API。

  • bt_le_set_auto_conn

  • CONFIG_BT_BUF_ACL_RX_COUNT

  • ok 枚举值现已从设备树中 base.yaml 绑定的 status 属性中完全移除。

  • 通过 Kconfig 选择 STM32 LPTIM 时钟源的方式已被移除。现在必须改用设备树。受影响的 Kconfig 符号: CONFIG_STM32_LPTIM_CLOCK_LSI / CONFIG_STM32_LPTIM_CLOCK_LSE

已弃用的 API 和选项

新增 API 和选项

新增开发板

新增扩展板

新增驱动

新增示例

库与子系统

其他值得注意的变更

  • Nordic Semiconductor nRF54L09 PDK(nrf54l09pdk)仅面向仿真器,现已从代码树中移除。一旦有正式的开发板定义可用,它将被替换。

  • 移除了对 Nordic Semiconductor nRF54L20 PDK(nrf54l20pdk)的支持,因为它已被 nRF54LM20 DK 取代(nrf54lm20dk)。