— 性能跃升、生态扩展、开发者体验全面升级 —
1
核心亮点:重新定义实时性与效率
原子操作与低功耗优化
a. 支持动态 Tick 补偿,通过 rt_tick 设置任意值功能,实现休眠唤醒后系统时钟的智能校准,典型场景下功耗显著降低 ,尤其适用于电池供电的 IoT 终端设备。
b. 提升原子操作优先级,通过 RT_USING_STDC_ATOMIC 优先使用标准库实现,增强多核场景下的数据一致性。
c. 全新 rt_completion 无锁算法,定时器分辨率提升约12%,显著提高并发场景下的响应效率,显著优化传感器数据采集与实时控制场景。
多核(SMP)架构升级
a. 新增非阻塞式 smp_ipi_call函数,支持多核间异步任务分发。
b. 移除冗余内存操作与锁竞争,多核实时任务吞吐量显著优化。
内存与资源管理
a. 修复 SLAB 内存管理器在 memcheck 和 memtrace 中的异常调用问题,增强内存泄漏检测能力。
b. 在smart模式下启用“回收线程“以修复线程挂起的bug。
新API与配置选项
a. 新增 rt_hw_cpu_id() 接口,简化多核环境下CPU核心标识获取。
b. 分离 klibc 的 Kconfig 配置,新增 RT_USING_CI_ACTION 选项,支持更灵活的构建配置。
工具链与编译支持
a. 引入 kerrno.h、kstring.h 和 kstdio.h 标准化头文件,提升代码兼容性。
b. 支持 rt_packed 属性,优化结构体内存对齐效率。
代码健壮性优化
a. 强化线程创建时的参数校验,防止非法时间片参数导致的系统异常。
b. 修复 rt_exit_critical_safe 返回值误用问题,确保临界区保护逻辑可靠。
调试与诊断新利器
a. 新增CPU/线程使用率统计,支持动态生成资源占用热力图,助力快速定位性能瓶颈。
b. 引入 rt_interrupt_context 系列接口,规范中断嵌套层级变量类型,提升中断处理鲁棒性。
2
关键模块升级
驱动生态全面增强
a. 修复 virtio 网络接收错误,提升虚拟化场景稳定性。
b. 传感器框架新增电源检测类型、传感器设备查找功能,同步 sensor_v1 的更改、修复 sensor v2 首次探测传感器设备时发生的错误。
c. USB 协议栈重构,CherryUSB v1.4.3 全面替换旧协议栈。
d. SPI/QSPI 稳定性提升,修复死锁与配置异常、修复 spi 配置会执行两次的问题、使 CS 引脚配置在系统中固定、统一软件 SPI 配置、spi 设备驱动框架添加引脚初始化功能。
e. CAN 总线安全加固,修复内存溢出与中断竞争问题。
网络协议栈进化
a. AT 组件重大更新,支持 SERIAL_V2,优化大数据传输稳定性,修复at套接字信号量释放异常。
b. LwIP 增强,新增多设备独立 DNS 服务,新增以太网协议钩子函数,支持定制化网络协议扩展。
c. 套接字功能扩展,新增 SIOCGIFINDEX 命令与 ifindex 路由配置,强化网络设备管理能力。
文件系统与存储革新
a. DFS v1 修复 ISO9660 构建、修复 cat 命令以输出实际长度。
b. DFS v2 重磅升级,新增 procfs 支持,实时监控系统资源;修复 cromfs 内存越界,优化嵌入式只读文件系统性能;支持pwrite/pread,提升数据库类应用效率。
c. SDIO 驱动增强,支持 HS400 模式 与 UHS-I 高速传输,修复 ART-PI smart 无法读取 emmc/sd 分区的问题。
开发工具链更新
a. DM 2.0 设备模型支持ATA AHCI、reset controller、 hardware mailbox、PHY(外部)、SCSI 总线、DMA 管理、 IIO (工业I/O)、PCI/PCIe,支持 milkv-duo rt-smart,新增通用 sdhci 驱动,支持 pio&&sdma,新增 PWM cool fan,新增支持 AMP 模式 ,新增支持 AMP 中的 PIC mailbox。
b. Finsh 调试增强,新增线程绑核命令、控制台动态切换,调试效率翻倍;
3
优化内核架构
AArch64 架构性能突破
a. 优化高地址内存映射(>1GB),修复未映射漏洞。
b. 修复 rt_hw_secondary_cpu_bsp_start() 多核启动逻辑,支持动态栈切换。
c. 原子操作重构:采用高效内存屏障策略。
Arm Cortex-M 实时性增强
a. 硬件线程支持,新增独立中断管理 API,允许定制化中断策略。
b. C11 原子自旋锁,减少锁竞争开销。
c. Cortex-M7 优化,启用硬件原子操作。
RISC-V 生态全面升级
a. 统一代码架构,整合 RV64/32 启动流程,修复信号处理栈错误,修复回溯中的参数传递问题,适配 common64。
b. MMU 强化,支持 ARCH_REMAP_KERNEL,修复 ASID 兼容性问题,助力高安全场景。
4
生态扩展:更广泛的硬件支持
新增硬件bsp支持
STM32:STM32H730、stm32h723-st-nucleo、stm32f407-lckfb-skystar、 stm32h7s7-st-disco、FK407M2-ZGT6。
Infineon:XMC7200。
HT32:ht32f53252。
HC32:lckfb-hc32f4a0-lqfp100。
MM32f526x:mm32f526x。
GD32:gd32e503v-eval、d32h759i-start。
Renesas:ra6e2-fpb、RZN2L-RSK、RZT2M-RSK、EtherKit。
Canaan:k230。
5
开发者体验:工具链全面进化
构建系统优化
a. 移除本地 kconfiglib,改用 pip install 一键安装,依赖管理更干净。
b. 新增 requirements.txt,Python 环境配置透明化,杜绝版本冲突。
d. 从 rtconfig.py 动态获取参数,减少冗余配置。
开发者工具增强
a. 新增 compile_commands.json 生成,修复 scons --target=iar --dist 命令。
b. 新增 clang-format 配置,支持一键代码格式化,统一团队风格。
c. 新增 install_env 脚本,5 分钟完成开发环境搭建,优化 env 工具链路径解析。
前沿技术适配
a. 语言支持扩展,新增 Zig 目标支持,支持 C++ 更多源文件类型。
6
Action
CI/CD 效率飞跃
a. 新增多项BSP 至自动化构建流水线(bsp_buildings.yml)。
b. CI Runner 迁移至 Ubuntu 22.04,支持最新工具链与安全补丁。
代码质量守护者
a. 新增 Cppcheck 深度集成,支持错误摘要与项目级扫描。
7
文档更新:让学习更容易
Doxygen 优化
a. 为组和页面名称添加前缀,创建框架以统一 markdown 和源代码部分。
b. 介绍如何在 Ubuntu 上构建和运行 doxygen。
c. 为 doxygen 新增 pwm、touch、can、i2c、spi、pin、dac、rtc、adc 驱动示例。
嵌入式开发实战指南
a. 更新 STM32 BSP 制作教程。
8
单元测试
测试覆盖率飞跃
a. 新增 rt_memcpy、rt_memset、rt_memcmp 边界测试用例,覆盖 零拷贝、越界访问、异常对齐 等严苛场景。
b. 新增 SMP 调度压力测试、workqueue 异步任务稳定性验证,确保多核并发场景零死角。
c. 新增 uassert_float_equal 与 uassert_float_not_equal,支持浮点误差阈值配置,满足高精度控制需求。
测试框架增强
a. 新增 uassert_ptr_equal、uassert_ptr_not_equal,修复嵌套宏输出问题。
b. 移除线程测试冗余延迟,修复互斥锁竞争条件并新增递归锁测试案例。
注:版本日志内容较多,预知详情可点击链接查看版本发布日志
https://github.com/RT-Thread/rt-thread/blob/master/ChangeLog.md
9
开源贡献:致谢全球开发者
本次版本凝聚 100+ 位开发者的智慧,特别鸣谢:polarvid, xhackerustc, RoboSchmied, tianshnegming, oxlm, xusiwei, zhkag, mysterywolf, Rbb666, Evlers, 0Bitbiscuits, atwwww, ToryMitchell911, kurisaW, liYony, flyingcys, xqyjlj, geniusgogo, Solonix-Chu, wdfk-prog, IceBear003, zmshahaha, qiujingbao, zealsoftstudio, Dyyt587, posfilu, LiKunZh, , BernardXiong, sp-cai, Stack Yuan, messigogogo, LZerro, Solonix-Chu, dongly, wirano, zihao-yuan, Eric-LGF, yandld, Yaochenger, QT-one, ComerLater, zmq810150896, xiao-mang, SCZeiDan, chengy2, youzuwei, sheltonyu, helloeagleyang, WKJay, luhuadong, WaterFishJ, xmaowu, JamieTx, meng-plus, unicornx, GuEe-GUI, heyuanjie87, LuiCheeHom, jiadingxu, rcitach, sakumisu, yangpengya, maosql, zhuzhuzhus, oxlm, andeyqi, hengchuan.qi, supperthomas, LTreeshu, 1413577909, kaidegit, childerxxx, messigogogogo, clow1710, hywing, imi415, sendu2wfdx, koendev, CXSforHPU, zx568073531, nxpyandld, CYFS3, Ryan-CW-Code, saviourxx, milo-9, hydevcode, zhangjing0303, 1078249029, diamant3, KunYi, Li-Dongze, skkily, XYX12306, drifting1024, judecumt, zdtyuiop4444, GorrayLi, liminghui12, Maihuanyi, tengmengchen, zzk597, Guozhanxin, vangao-gg, Lin-Chengqiu, godmial, yuqingli05, aka-adi, GibbyChan, newflydd, KennethLiu61, ziyu04, JOONH0o, directorhorse, wycwyhwyq, RCSN, lingfengPeng,对本次版本更新做出的贡献。
10
版本发布工作致谢
此外,特别鸣谢参与 RT-Thread v5.2.0 版本测试及版本发布的外部协作者们:
版本测试工作
在 RT-Thread v5.2.0 版本的测试过程中,我们特别感谢来自全国多所高校的 2024届 RT-Thread 夏令营学员 的积极参与和贡献。这些学员不仅在学术上展现了扎实的专业知识,还在实际测试中体现了高度的责任感和团队合作精神。以下是具体名单:
RT-Thread 2024届夏令营学员
吴艺彬 福建师范大学协和学院 大三(测试内容:组件、驱动、软件包)
曹显嵩 河南理工大学 大三(测试内容:组件、驱动)
张国锋 广州应用科技学院 大四(测试内容:软件包、驱动)
李东泽 常州工学院 大三(测试内容:软件包、驱动)
申士尧 河南理工大学 大三(测试内容:驱动)
版本发布工作
11
立即行动
5.2.0详细发布日志:
GitHub release:https://github.com/RT-Thread/rt-thread/releases/tag/v5.2.0
文档指南:
RT-Thread 官方文档中心:https://www.rt-thread.org/document/site/#/
加入开源革命,定义嵌入式未来!
提交代码:GitHub 仓库:https://github.com/RT-Thread/rt-thread
技术讨论:RT-Thread 论坛:https://club.rt-thread.io/
想要在RT-Thread平台或社区投放内容?或想参与相关直播活动及赛事?RT-Thread已开放对接窗口,请通过邮件与我们取得联系,期待合作!