RT-Thread5.1.0版本正式發(fā)布啦~!我們一起來看看它都有什么新功能、新特性吧!
? RT-Thread 代碼倉庫地址:
https://github.com/RT-Thread/rt-thread
? RT-Thread 5.1.0發(fā)布版本:
https://github.com/RT-Thread/rt-thread/releases/tag/v5.1.0
Kernel
kservice:使用 C89 格式以避免警告;修復(fù)起始地址錯位的問題;去除 malloc 大鎖,修復(fù) memheap 鎖的錯誤使用;新增 MT-safe console 支持
rtdef:新增 rt_always_inline 操作函數(shù)
cpu:優(yōu)化CPU調(diào)度器
thread:刪除線程引用計數(shù)
rthw:新增 rt_hw_interrupt_uninstall 聲明
為 malloc 服務(wù)新增鉤子函數(shù);支持鉤子列表(在單個鉤子節(jié)點中新增多個鉤子)
優(yōu)化系統(tǒng)調(diào)度器;完善 rt_vsnprintf
自旋鎖內(nèi)禁止使用free、malloc等嵌套阻塞IPC接口
重命名RT_DEBUGING_INIT為RT_DEBUGING_AUTO_INIT
定義標準spinlock需要關(guān)閉調(diào)度器,對外的spinlock全部使用關(guān)閉、打開調(diào)度器方式
新增RT_USING_NANO宏,支持BSP一鍵切換到Nano版本
新增刪除線程時釋放互斥鎖的功能;新增對 rt_sem 進行控制配置以設(shè)置信號量的最大值的支持
新增 RV64 RTOS 內(nèi)核 backtrace 支持;新增 ARM64、RV64 實現(xiàn);新增創(chuàng)建線程函數(shù)時間片參數(shù)檢查
新增 scons 編譯后顯示工程的占用空間信息(#8697);新增調(diào)度程序(rt_sched)的抽象層,對SMP性能進行優(yōu)化(#8537)
修復(fù)SMP模式軟件定時器重復(fù)觸發(fā)問題
修復(fù)rt_slist_for_each_entry宏不能正常遍歷slist鏈表中元素的問題
修復(fù)線程無法回收的錯誤;修復(fù)在 SMP 模式下 rt_timer 里 timer check 與 timer start 重復(fù)獲取自旋鎖而死鎖的問題
修復(fù)軟件定時器的休眠問題;修復(fù) idle_hook_list 存在沒有加鎖的情況
修復(fù)線程退出系統(tǒng)函數(shù)可能存在的問題;修復(fù)優(yōu)先級相同時候只能調(diào)度兩個線程的問題
修復(fù)訪問 percpu 對象的數(shù)據(jù)競爭問題;修復(fù) rt_exit_critical_safe 函數(shù)錯誤返回問題
修復(fù)SIGNAL節(jié)點分配失敗返回錯誤問題
Component
Drivers
core:適配并優(yōu)化新的設(shè)備驅(qū)動模型;修復(fù)部分設(shè)備驅(qū)動注冊之后無法進入 probe 函數(shù)問題
usb:rt_size_t 遵循 UNIX 風(fēng)格,修改為 rt_ssize_t
virtio:qemu-virt64-aarch64 / qemu-virt64-riscv 支持 SDL2
spi:修復(fù) qspi 配置未生效問題
sdio:新增 rt_mmcsd_fops_flush(block_dev)函數(shù)
rtc:修復(fù) rt_soft_rtc_sync 函數(shù)因使用已棄用的聲明方式所引發(fā)的警告問題
clk:新增 clk 驅(qū)動框架,為全面使用設(shè)備樹做準備
pwm:新增控制臺二級命令補全功能
can:優(yōu)化 can 關(guān)閉順序(#8780)
serial:
增加使用 dm 時的 tty 名字分配機制,支持更多波特率;
新增 tty 相關(guān)鉤子函數(shù);新增 serial 框架設(shè)備樹支持;
修復(fù) serial_v2 內(nèi)存泄漏問題;
修復(fù)虛擬串口數(shù)據(jù)只能成功發(fā)送一次問題
pic:新增 pic-gic 支持
pinctrl:新增 pinctrl/pin-irqchip 支持
hwtimer:完善 Cortex-a、ARMv8 驅(qū)動
DFS
新增 exfat 配置;
dfs_v1:修復(fù) FATFS 文件系統(tǒng)使用 cat 命令導(dǎo)致斷言 bug
dfs_v2:
更新 Smart 內(nèi)核默認選中 dfsv2;更新 elmfat 版本由 r14b 為 r15
支持O_DIRECT和O_SYNC標志
修復(fù)dfs_dentry_lookup解析文件路徑問題
修復(fù)dfs_tmpfs_write中的錯誤(#8672)
修復(fù)dfsv2romfsdfs_romfs_getdents緩沖區(qū)溢出問題
修復(fù) dfs_v2 dfs_file 中潛在的堆緩沖區(qū)溢出問題;修復(fù) elm 的權(quán)限問題
修復(fù) page cache 問題;修復(fù) mqueue 未掛載問題
新增 dfs pwrite pread (#8672);新增 ptyfs支持(#8672)
新增符號鏈接、普通文件管理等特點(#8672);新增 sys_utimensat 函數(shù)
新增 cromfs 的符號鏈接(#8132);新增 cromfs 的 mmap 支持(#8218)
修復(fù)dfs_v2下傳輸fd時,dentry或者vnode不存在時出現(xiàn)的問題
Libc
修復(fù)MDK編譯環(huán)境下difftime函數(shù)多重定義的問題
修復(fù)共享計數(shù)器ID列表中的數(shù)據(jù)競爭問題
修復(fù)ctime.c文件與舊的驅(qū)動程序的兼容性問題
修復(fù)因工具鏈更新導(dǎo)致的eventfd中的宏重定義的問題
修復(fù)posix線程本地存儲尋找posix線程句柄時的邏輯錯誤
修復(fù)無法獲取IAR版本時會新增遺留宏的問題
改進 gcc picolibc;進一步優(yōu)化 epoll 和 timerfd
新增RT_USING_INTERNAL_LIBC_ONLY宏
新增GCC通用原子操作功能(#8648)
LWP
新增sys_setitimer函數(shù)
替換lwp_new函數(shù)為lwp_create
替換futex中的irq禁用/啟用代碼
lwp_syscall.c中替換off_t為size_t
修復(fù) lwp_free 定時器回收調(diào)用問題;修復(fù)設(shè)置 CPU 親和性問題
修復(fù) rt_channel 內(nèi)部的鎖問題;修復(fù) pid 回收問題
修復(fù)init進程信號保護標志設(shè)置(#8797)
使能開啟smart/lwp選項后默認自動選擇LDSO和pcache選項
更新AF_UNIXbind與connect入口,更新AF_UNIX所使用數(shù)據(jù)結(jié)構(gòu)sockaddr_un為標準結(jié)構(gòu)
MM
新增預(yù)留內(nèi)存支持;新增 rt_aspace_mremap_range 函數(shù)實現(xiàn)
修復(fù) aspace_traversal 中的釋放后使用的問題;修復(fù) page_install 函數(shù)在 shadow region 上的問題
Net
修復(fù)wifi掃描命令的重復(fù)問題(#8666)
at:優(yōu)化 at 格式化輸出,避免多個 at client 和 server 輸出沖突;優(yōu)化 AT 組件,并修復(fù)可能存在的內(nèi)存泄露問題
lwip:修復(fù) SMP 下可能發(fā)生死鎖的問題
sal:新增 ifconfig updown 功能;增加消息數(shù)量限制;更新 SAL 套接字抽象層,完善 socketpair、sendmsg、recvmsg 功能
Finsh
優(yōu)化 list_thread 顯示;優(yōu)化 MSH 宏定義
新增 finsh 線程棧大小檢查;新增 finsh 線程入口鉤子函數(shù)
FAL
為fal新增blocks機制,支持新增特殊的block定義
MProtect
新增MPU抽象層設(shè)計,支持ARMv7-M,ARMv8-M架構(gòu)
其他
同步內(nèi)核、文件系統(tǒng)等差異;移除 vmm
修復(fù)-Wmissing-prototypes警告
Libcpu
AARCH64:修復(fù)內(nèi)核入口符號;修復(fù) ulog 環(huán)境下不能正??吹?trace 信息問題;使用設(shè)備樹對 CPU 和內(nèi)存進行初始化;提升 IRQ 禁用/啟用的性能
ARM:新增 Cortex-M85、Cortex-R52 架構(gòu)的支持;解決 Cortex-A 開啟SMP工作異常問題(#8517)
RISC-V:修復(fù) d1s smart build 失敗的問題
修復(fù)mmap支持
支持 RT-Thread 內(nèi)核中的整體 backtrace 框架;新增架構(gòu)級 backtrace 服務(wù)的弱實現(xiàn);新增 RV64 架構(gòu)支持
規(guī)范Libcpugroup名為libcpu
Tools
支持工具鏈LLVMEmbeddedToolchainForArm-17.0.1
新增 scons --target=vsc/--pack=xxx 命令;新增 prebuilding 操作
修復(fù)腳本中MPU的rtconfig.h文件識別問題
rt_studio:修復(fù) rt-studio 導(dǎo)入 bsp 工程缺失{cross_toolchain_flags}字段問題
env:修復(fù) env 內(nèi)置 python2 subprocess 問題
action
修復(fù)DoxygenCI問題
BSP新增CI看護
新增bspattachcheckCI
utest
新增內(nèi)存系統(tǒng)測試用例;補充串口設(shè)備框架 serial_v2 測試用例;新增 mm 測試用例;新增調(diào)度器測試用例
BSP
完善若干 bsp 驅(qū)動文件;修復(fù)一些 bsp 存在的問題
RT-Smart 支持:DFZU2EG MPSoC、cv181x-riscv
STM32:STM32 G0、G4、L0、L4 系列支持一鍵開啟切換 RT-Thread Nano 版本;STM32 Nucleo 系列增加板卡級識別宏;STM32 系列新增 Nano 版本 attach config 相關(guān)的 CI
RTduino支持:raspberry-pico 、stm32h503-st-nucleo、stm32h563-st-nucleo、stm32f412-nucleo、stm32f407-rt-spark
新增一些新的 BSP:
Adafruit:Metro M4
Seeed Studio:Wio-Terminal
ST:stm32L431_tencentos、stm32h7s7-disco,stm32f407-lckfb-skystar、stm32h503-st-nucleo
Renesas:ek-ra8m1、ek-ra8d1、ra8d1-vision-board
AT32:at32f402-start、at32f405-start
HT32:ht32f52352、ht32f12366
AVR32:at32uc3a0256、at32uc3b0256
CVITEK:c906_little、cv18xx_risc-v
WCH:yd-ch32v307vct6(risc-v)
HC32:ev_hc32f4a0_lqfp176、ev_hc32f460_lqfp100_v2、ev_hc32f448_lqfp80
GD32:gd32407v-lckfb
NXP:mcxn:frdm-mcxn947、mcxa:frdm-mcxa153
Userapps
修復(fù)用戶態(tài)在獲取當前時間之后,調(diào)用到內(nèi)核態(tài)再次獲取當前時間,兩邊差值為負數(shù),定時器不會運行的問題
在使用RT-Smart的情況下默認開啟epoll/eventfd/signalfd/timerfd/select
移除prebuilt版本
修復(fù)setitimer缺陷,完善FUTEX支持
新增對RT-Smart終端子系統(tǒng)的支持(#8672)
其他更新:ssh,sftp,weston,vim…
貢
-
RT-Thread
+關(guān)注
關(guān)注
32文章
1503瀏覽量
43784 -
調(diào)度器
+關(guān)注
關(guān)注
0文章
99瀏覽量
5608
發(fā)布評論請先 登錄
RTT 5.1.0 警告 如何消除?
求助,關(guān)于RT-Thread 最新版本timer.c rt_timer_check函數(shù)問題求解
RT-Thread Studio 2.2.8創(chuàng)建新項目直接構(gòu)建編譯報錯怎么解決?
RT-Thread 5.1.0版本中調(diào)用rt_sfud_flash_probe()函數(shù)報錯的原因?
rt-thread studio 2.2.9如何使用最新的RT-Thread v5.2.0 released?
rt-thread stm32 BSP編譯不通過,缺乏HAL庫怎么處理?
使用env v2.0執(zhí)行scons --dist產(chǎn)生缺失依賴報錯怎么解決?
rt-thread stm32 BSP編譯不通過怎么解決?
RT-Thread榮獲2025優(yōu)秀開源項目 | 新聞速遞
玄鐵加入RT-Thread 高級會員合作伙伴 | 戰(zhàn)略新篇
2025 RT-Thread全球技術(shù)大會議程正式發(fā)布!
RT-Thread審核團招募: 深度參與開源RTOS社區(qū)治理與演進
如何將RT-Thread移植到NXP MCUXPressoIDE上
RT-Thread上CAN實踐
開源共生 商業(yè)共贏 | RT-Thread 2024開發(fā)者大會報名啟動!

RT-Thread v5.1.0 發(fā)布
評論