RT-Thread重大升级,性能跃升、多项新功能、体验升级

关注+星标公众,不错过精彩内容

图片

来源 | RT-Thread

最近,RT-Thread重磅升级到了 v5.2.0!此版本不仅是内核技术的重大升级,更标志着生态扩展、开发者支持与社区协作的全方位提升。以下是本次更新的详细内容与相关公布信息:

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 系列接口,规范中断嵌套层级变量类型,提升中断处理鲁棒性。

c. 增强回溯服务,优化异常日志输出格式,支持嵌套中断上下文记录。

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 调试增强,新增线程绑核命令、控制台动态切换,调试效率翻倍;

c. POSIX 兼容性提升,修复 C++11 thread_local 析构顺序问题,优化 aio/mmap 接口,加速跨平台应用迁移。

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 兼容性问题,助力高安全场景。

c. 向量计算支持,新增 RISC-V 向量指令集基础框架,为 AI 边缘计算铺路。

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。

  • HPMicro:hpm6800evk、hpm6e00evk。

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++ 更多源文件类型。

b. 使用 pkgs --update-force 强制更新,依赖锁定更精准;设置 at_device 为严格模式,确保外设驱动稳定性。

6

Action

CI/CD 效率飞跃

a. 新增多项BSP 至自动化构建流水线(bsp_buildings.yml)。

b. CI Runner 迁移至 Ubuntu 22.04,支持最新工具链与安全补丁。

代码质量守护者

a. 新增 Cppcheck 深度集成,支持错误摘要与项目级扫描。

b. 支持 auto_utest 脚本,单元测试部署实时反馈。

7

文档更新:让学习更容易

Doxygen 优化

a. 为组和页面名称添加前缀,创建框架以统一 markdown 和源代码部分。

b. 介绍如何在 Ubuntu 上构建和运行 doxygen。

c. 为 doxygen 新增 pwm、touch、can、i2c、spi、pin、dac、rtc、adc 驱动示例。

嵌入式开发实战指南

a. 更新 STM32 BSP 制作教程。

b. 图解 SLAB 与 MEMPOOL 差异,新增碎片化治理实战案例。

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届夏令营学员

    • 吴艺彬 福建师范大学协和学院 大三(测试内容:组件、驱动、软件包)

    • 曹显嵩 河南理工大学 大三(测试内容:组件、驱动)

    • 张国锋 广州应用科技学院 大四(测试内容:软件包、驱动)

    • 李东泽 常州工学院 大三(测试内容:软件包、驱动)

    • 申士尧 河南理工大学 大三(测试内容:驱动)

版本发布工作

在版本发布阶段,特别感谢中科院 PLCT 实验室的汪辰老师及其实习生团队的鼎力支持。汪辰导师凭借其丰富的经验和深厚的专业知识,为版本的发布提供了宝贵的指导和建议。实习生团队在导师的带领下,积极参与了版本的日志整理工作,确保了版本的顺利发布。

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/

------------ END ------------

图片

●专栏《嵌入式工具

●专栏《嵌入式开发》

●专栏《Keil教程》

●嵌入式专栏精选教程

关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

点击“阅读原文”查看更多分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值