—性能躍升、生態(tài)擴展、開發(fā)者體驗全面升級—
我們隆重推出 RT-Thread v5.2.0!此版本不僅是內(nèi)核技術(shù)的重大升級,更標志著生態(tài)擴展、開發(fā)者支持與社區(qū)協(xié)作的全方位提升。以下是本次更新的詳細內(nèi)容與相關(guān)公布信息:
1
核心亮點:重新定義實時性與效率
原子操作與低功耗優(yōu)化
a. 支持動態(tài) Tick 補償,通過 rt_tick 設(shè)置任意值功能,實現(xiàn)休眠喚醒后系統(tǒng)時鐘的智能校準,典型場景下功耗顯著降低,尤其適用于電池供電的 IoT 終端設(shè)備。
b. 提升原子操作優(yōu)先級,通過 RT_USING_STDC_ATOMIC 優(yōu)先使用標準庫實現(xiàn),增強多核場景下的數(shù)據(jù)一致性。
c. 全新 rt_completion 無鎖算法,定時器分辨率提升約12%,顯著提高并發(fā)場景下的響應(yīng)效率,顯著優(yōu)化傳感器數(shù)據(jù)采集與實時控制場景。
多核(SMP)架構(gòu)升級
a. 新增非阻塞式 smp_ipi_call函數(shù),支持多核間異步任務(wù)分發(fā)。
b. 移除冗余內(nèi)存操作與鎖競爭,多核實時任務(wù)吞吐量顯著優(yōu)化。
內(nèi)存與資源管理
a. 修復 SLAB 內(nèi)存管理器在 memcheck 和 memtrace 中的異常調(diào)用問題,增強內(nèi)存泄漏檢測能力。
b. 在smart模式下啟用“回收線程“以修復線程掛起的bug。
新API與配置選項
a. 新增 rt_hw_cpu_id()接口,簡化多核環(huán)境下CPU核心標識獲取。
b. 分離 klibc 的 Kconfig 配置,新增 RT_USING_CI_ACTION 選項,支持更靈活的構(gòu)建配置。
工具鏈與編譯支持
a. 引入 kerrno.h、kstring.h 和 kstdio.h 標準化頭文件,提升代碼兼容性。
b. 支持 rt_packed 屬性,優(yōu)化結(jié)構(gòu)體內(nèi)存對齊效率。
代碼健壯性優(yōu)化
a. 強化線程創(chuàng)建時的參數(shù)校驗,防止非法時間片參數(shù)導致的系統(tǒng)異常。
b. 修復 rt_exit_critical_safe 返回值誤用問題,確保臨界區(qū)保護邏輯可靠。
調(diào)試與診斷新利器
a. 新增CPU/線程使用率統(tǒng)計,支持動態(tài)生成資源占用熱力圖,助力快速定位性能瓶頸。
b. 引入 rt_interrupt_context 系列接口,規(guī)范中斷嵌套層級變量類型,提升中斷處理魯棒性。
c. 增強回溯服務(wù),優(yōu)化異常日志輸出格式,支持嵌套中斷上下文記錄。
2
關(guān)鍵模塊升級
驅(qū)動生態(tài)全面增強
a. 修復 virtio 網(wǎng)絡(luò)接收錯誤,提升虛擬化場景穩(wěn)定性。
b. 傳感器框架新增電源檢測類型、傳感器設(shè)備查找功能,同步 sensor_v1 的更改、修復 sensor v2 首次探測傳感器設(shè)備時發(fā)生的錯誤。
c. USB 協(xié)議棧重構(gòu),CherryUSB v1.4.3 全面替換舊協(xié)議棧。
d. SPI/QSPI 穩(wěn)定性提升,修復死鎖與配置異常、修復 spi 配置會執(zhí)行兩次的問題、使 CS 引腳配置在系統(tǒng)中固定、統(tǒng)一軟件 SPI 配置、spi 設(shè)備驅(qū)動框架添加引腳初始化功能。
e. CAN 總線安全加固,修復內(nèi)存溢出與中斷競爭問題。
網(wǎng)絡(luò)協(xié)議棧進化
a. AT 組件重大更新,支持 SERIAL_V2,優(yōu)化大數(shù)據(jù)傳輸穩(wěn)定性,修復at套接字信號量釋放異常。
b. LwIP 增強,新增多設(shè)備獨立 DNS 服務(wù),新增以太網(wǎng)協(xié)議鉤子函數(shù),支持定制化網(wǎng)絡(luò)協(xié)議擴展。
c. 套接字功能擴展,新增 SIOCGIFINDEX 命令與 ifindex 路由配置,強化網(wǎng)絡(luò)設(shè)備管理能力。
文件系統(tǒng)與存儲革新
a. DFS v1 修復 ISO9660構(gòu)建、修復 cat 命令以輸出實際長度。
b. DFS v2 重磅升級,新增 procfs 支持,實時監(jiān)控系統(tǒng)資源;修復 cromfs 內(nèi)存越界,優(yōu)化嵌入式只讀文件系統(tǒng)性能;支持pwrite/pread,提升數(shù)據(jù)庫類應(yīng)用效率。
c. SDIO 驅(qū)動增強,支持 HS400模式與 UHS-I 高速傳輸,修復 ART-PI smart 無法讀取 emmc/sd 分區(qū)的問題。
開發(fā)工具鏈更新
a. DM 2.0設(shè)備模型支持ATA AHCI、reset controller、 hardware mailbox、PHY(外部)、SCSI 總線、DMA 管理、 IIO (工業(yè)I/O)、PCI/PCIe,支持 milkv-duo rt-smart,新增通用 sdhci 驅(qū)動,支持 pio&&sdma,新增 PWM cool fan,新增支持 AMP 模式 ,新增支持 AMP 中的 PIC mailbox。
b. Finsh 調(diào)試增強,新增線程綁核命令、控制臺動態(tài)切換,調(diào)試效率翻倍;
c. POSIX 兼容性提升,修復 C++11 thread_local 析構(gòu)順序問題,優(yōu)化 aio/mmap 接口,加速跨平臺應(yīng)用遷移。
3
優(yōu)化內(nèi)核架構(gòu)
AArch64架構(gòu)性能突破
a. 優(yōu)化高地址內(nèi)存映射(>1GB),修復未映射漏洞。
b. 修復 rt_hw_secondary_cpu_bsp_start()多核啟動邏輯,支持動態(tài)棧切換。
c. 原子操作重構(gòu):采用高效內(nèi)存屏障策略。
Arm Cortex-M實時性增強
a. 硬件線程支持,新增獨立中斷管理 API,允許定制化中斷策略。
b. C11 原子自旋鎖,減少鎖競爭開銷。
c. Cortex-M7 優(yōu)化,啟用硬件原子操作。
RISC-V生態(tài)全面升級
a. 統(tǒng)一代碼架構(gòu),整合 RV64/32 啟動流程,修復信號處理棧錯誤,修復回溯中的參數(shù)傳遞問題,適配 common64。
b. MMU 強化,支持 ARCH_REMAP_KERNEL,修復 ASID 兼容性問題,助力高安全場景。
c. 向量計算支持,新增 RISC-V 向量指令集基礎(chǔ)框架,為 AI 邊緣計算鋪路。
4
生態(tài)擴展:更廣泛的硬件支持
新增硬件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
開發(fā)者體驗:工具鏈全面進化
構(gòu)建系統(tǒng)優(yōu)化
a. 移除本地 kconfiglib,改用 pip install 一鍵安裝,依賴管理更干凈。
b. 新增 requirements.txt,Python 環(huán)境配置透明化,杜絕版本沖突。
d. 從 rtconfig.py 動態(tài)獲取參數(shù),減少冗余配置。
開發(fā)者工具增強
a. 新增 compile_commands.json 生成,修復 scons --target=iar --dist 命令。
b. 新增 clang-format 配置,支持一鍵代碼格式化,統(tǒng)一團隊風格。
c. 新增 install_env 腳本,5 分鐘完成開發(fā)環(huán)境搭建,優(yōu)化 env 工具鏈路徑解析。
前沿技術(shù)適配
a. 語言支持擴展,新增 Zig 目標支持,支持 C++更多源文件類型。
b. 使用 pkgs --update-force 強制更新,依賴鎖定更精準;設(shè)置 at_device 為嚴格模式,確保外設(shè)驅(qū)動穩(wěn)定性。
6
Action
CI/CD效率飛躍
a. 新增多項BSP 至自動化構(gòu)建流水線(bsp_buildings.yml)。
b. CI Runner 遷移至 Ubuntu 22.04,支持最新工具鏈與安全補丁。
代碼質(zhì)量守護者
a. 新增 Cppcheck 深度集成,支持錯誤摘要與項目級掃描。
b. 支持 auto_utest 腳本,單元測試部署實時反饋。
7
文檔更新:讓學習更容易
Doxygen優(yōu)化
a. 為組和頁面名稱添加前綴,創(chuàng)建框架以統(tǒng)一 markdown 和源代碼部分。
b. 介紹如何在 Ubuntu 上構(gòu)建和運行 doxygen。
c. 為 doxygen 新增 pwm、touch、can、i2c、spi、pin、dac、rtc、adc 驅(qū)動示例。
嵌入式開發(fā)實戰(zhàn)指南
a. 更新 STM32 BSP 制作教程。
b. 圖解 SLAB 與 MEMPOOL 差異,新增碎片化治理實戰(zhàn)案例。
8
單元測試
測試覆蓋率飛躍
a. 新增 rt_memcpy、rt_memset、rt_memcmp 邊界測試用例,覆蓋 零拷貝、越界訪問、異常對齊 等嚴苛場景。
b. 新增 SMP 調(diào)度壓力測試、workqueue 異步任務(wù)穩(wěn)定性驗證,確保多核并發(fā)場景零死角。
c. 新增 uassert_float_equal 與 uassert_float_not_equal,支持浮點誤差閾值配置,滿足高精度控制需求。
測試框架增強
a. 新增 uassert_ptr_equal、uassert_ptr_not_equal,修復嵌套宏輸出問題。
b. 移除線程測試冗余延遲,修復互斥鎖競爭條件并新增遞歸鎖測試案例。
注:版本日志內(nèi)容較多,預(yù)知詳情可點擊鏈接查看版本發(fā)布日志
https://github.com/RT-Thread/rt-thread/blob/master/ChangeLog.md
9
開源貢獻:致謝全球開發(fā)者
本次版本凝聚 100+位開發(fā)者的智慧,特別鳴謝: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
版本發(fā)布工作致謝
此外,特別鳴謝參與 RT-Thread v5.2.0版本測試及版本發(fā)布的外部協(xié)作者們:
版本測試工作
在 RT-Thread v5.2.0版本的測試過程中,我們特別感謝來自全國多所高校的 2024屆 RT-Thread 夏令營學員 的積極參與和貢獻。這些學員不僅在學術(shù)上展現(xiàn)了扎實的專業(yè)知識,還在實際測試中體現(xiàn)了高度的責任感和團隊合作精神。以下是具體名單:
RT-Thread 2024屆夏令營學員
吳藝彬福建師范大學協(xié)和學院大三(測試內(nèi)容:組件、驅(qū)動、軟件包)
曹顯嵩河南理工大學大三(測試內(nèi)容:組件、驅(qū)動)
張國鋒廣州應(yīng)用科技學院大四(測試內(nèi)容:軟件包、驅(qū)動)
李東澤常州工學院大三(測試內(nèi)容:軟件包、驅(qū)動)
申士堯河南理工大學大三(測試內(nèi)容:驅(qū)動)
版本發(fā)布工作
在版本發(fā)布階段,特別感謝中科院 PLCT 實驗室的汪辰老師及其實習生團隊的鼎力支持。汪辰導師憑借其豐富的經(jīng)驗和深厚的專業(yè)知識,為版本的發(fā)布提供了寶貴的指導和建議。實習生團隊在導師的帶領(lǐng)下,積極參與了版本的日志整理工作,確保了版本的順利發(fā)布。
-
RT-Thread
+關(guān)注
關(guān)注
31文章
1332瀏覽量
41221 -
RISC-V
+關(guān)注
關(guān)注
46文章
2424瀏覽量
47723
發(fā)布評論請先 登錄
相關(guān)推薦
如何將RT-Thread移植到NXP MCUXPressoIDE上

RT-Thread上CAN實踐

開源共生 商業(yè)共贏 | RT-Thread 2024開發(fā)者大會報名啟動!

新書發(fā)布——《RT-Thread嵌入式實時操作系統(tǒng)內(nèi)核、驅(qū)動和應(yīng)用開發(fā)技術(shù)》

2024 RT-Thread全球巡回 線下培訓火熱來襲!

【好書推薦】RT-Thread設(shè)備驅(qū)動開發(fā)指南

RT-Thread 新里程碑達成——GitHub Star 破萬!

基于 RT-Thread專業(yè)版的EtherCAT主站方案

6月6日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

2024 RT-Thread 全球技術(shù)大會演講議程發(fā)布!

新書發(fā)布——《實時操作系統(tǒng)應(yīng)用技術(shù):RT-Thread與ARM編程實踐》

5月16日南京站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

RT-Thread混合部署Workshop北京站來啦!

4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

評論