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