0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RT-Thread v5.1.0 发布

RT-Thread官方账号 2024-04-26 08:35 次阅读

RT-Thread5.1.0版本正式发布啦~!我们一起来看看它都有什么新功能、新特性吧!

➢ RT-Thread 代码仓库地址:

https://github.com/RT-Thread/rt-thread

➢ RT-Thread 5.1.0发布版本:

https://github.com/RT-Thread/rt-thread/releases/tag/v5.1.0

Kernel

kservice:使用 C89 格式以避免警告;修复起始地址错位的问题;去除 malloc 大锁,修复 memheap 锁的错误使用;新增 MT-safe console 支持

rtdef:新增 rt_always_inline 操作函数

cpu:优化CPU调度器

thread:删除线程引用计数

rthw:新增 rt_hw_interrupt_uninstall 声明

为 malloc 服务新增钩子函数;支持钩子列表(在单个钩子节点中新增多个钩子)

优化系统调度器;完善 rt_vsnprintf

自旋锁内禁止使用free、malloc等嵌套阻塞IPC接口

重命名RT_DEBUGING_INIT为RT_DEBUGING_AUTO_INIT

定义标准spinlock需要关闭调度器,对外的spinlock全部使用关闭、打开调度器方式

新增RT_USING_NANO宏,支持BSP一键切换到Nano版本

新增删除线程时释放互斥锁的功能;新增对 rt_sem 进行控制配置以设置信号量的最大值的支持

新增 RV64 RTOS 内核 backtrace 支持;新增 ARM64、RV64 实现;新增创建线程函数时间片参数检查

新增 scons 编译后显示工程的占用空间信息(#8697);新增调度程序(rt_sched)的抽象层,对SMP性能进行优化(#8537)

修复SMP模式软件定时器重复触发问题

修复rt_slist_for_each_entry宏不能正常遍历slist链表中元素的问题

修复线程无法回收的错误;修复在 SMP 模式下 rt_timer 里 timer check 与 timer start 重复获取自旋锁而死锁的问题

修复软件定时器的休眠问题;修复 idle_hook_list 存在没有加锁的情况

修复线程退出系统函数可能存在的问题;修复优先级相同时候只能调度两个线程的问题

修复访问 percpu 对象的数据竞争问题;修复 rt_exit_critical_safe 函数错误返回问题

修复SIGNAL节点分配失败返回错误问题

Component

Drivers

core:适配并优化新的设备驱动模型;修复部分设备驱动注册之后无法进入 probe 函数问题

usb:rt_size_t 遵循 UNIX 风格,修改为 rt_ssize_t

virtio:qemu-virt64-aarch64 / qemu-virt64-riscv 支持 SDL2

i2c:新增通用软件模拟 I2C;新增设备树支持

spi:修复 qspi 配置未生效问题

sdio:新增 rt_mmcsd_fops_flush(block_dev)函数

rtc:修复 rt_soft_rtc_sync 函数因使用已弃用的声明方式所引发的警告问题

clk:新增 clk 驱动框架,为全面使用设备树做准备

pwm:新增控制台二级命令补全功能

can:优化 can 关闭顺序(#8780)

serial:

增加使用 dm 时的 tty 名字分配机制,支持更多波特率;

新增 tty 相关钩子函数;新增 serial 框架设备树支持;

修复 serial_v2 内存泄漏问题;

修复虚拟串口数据只能成功发送一次问题

pic:新增 pic-gic 支持

pinctrl:新增 pinctrl/pin-irqchip 支持

hwtimer:完善 Cortex-a、ARMv8 驱动

DFS

新增 exfat 配置;

dfs_v1:修复 FATFS 文件系统使用 cat 命令导致断言 bug

dfs_v2:

更新 Smart 内核默认选中 dfsv2;更新 elmfat 版本由 r14b 为 r15

支持O_DIRECT和O_SYNC标志

修复dfs_dentry_lookup解析文件路径问题

修复dfs_tmpfs_write中的错误(#8672)

修复dfsv2romfsdfs_romfs_getdents缓冲区溢出问题

修复 dfs_v2 dfs_file 中潜在的堆缓冲区溢出问题;修复 elm 的权限问题

修复 page cache 问题;修复 mqueue 未挂载问题

新增 dfs pwrite pread (#8672);新增 ptyfs支持(#8672)

新增符号链接、普通文件管理等特点(#8672);新增 sys_utimensat 函数

新增 cromfs 的符号链接(#8132);新增 cromfs 的 mmap 支持(#8218)

修复dfs_v2下传输fd时,dentry或者vnode不存在时出现的问题

Libc

修复MDK编译环境下difftime函数多重定义的问题

修复共享计数器ID列表中的数据竞争问题

修复ctime.c文件与旧的驱动程序的兼容性问题

修复因工具链更新导致的eventfd中的宏重定义的问题

修复posix线程本地存储寻找posix线程句柄时的逻辑错误

修复无法获取IAR版本时会新增遗留宏的问题

改进 gcc picolibc;进一步优化 epoll 和 timerfd

新增RT_USING_INTERNAL_LIBC_ONLY宏

新增GCC通用原子操作功能(#8648)

LWP

新增sys_setitimer函数

替换lwp_new函数为lwp_create

替换futex中的irq禁用/启用代码

lwp_syscall.c中替换off_t为size_t

修复 lwp_free 定时器回收调用问题;修复设置 CPU 亲和性问题

修复 rt_channel 内部的锁问题;修复 pid 回收问题

修复init进程信号保护标志设置(#8797)

使能开启smart/lwp选项后默认自动选择LDSO和pcache选项

更新AF_UNIXbind与connect入口,更新AF_UNIX所使用数据结构sockaddr_un为标准结构

MM

新增预留内存支持;新增 rt_aspace_mremap_range 函数实现

修复 aspace_traversal 中的释放后使用的问题;修复 page_install 函数在 shadow region 上的问题

Net

修复wifi扫描命令的重复问题(#8666)

at:优化 at 格式化输出,避免多个 at client 和 server 输出冲突;优化 AT 组件,并修复可能存在的内存泄露问题

lwip:修复 SMP 下可能发生死锁的问题

sal:新增 ifconfig updown 功能;增加消息数量限制;更新 SAL 套接字抽象层,完善 socketpair、sendmsg、recvmsg 功能

Finsh

优化 list_thread 显示;优化 MSH 宏定义

新增 finsh 线程栈大小检查;新增 finsh 线程入口钩子函数

FAL

为fal新增blocks机制,支持新增特殊的block定义

MProtect

新增MPU抽象层设计,支持ARMv7-M,ARMv8-M架构

其他

同步内核、文件系统等差异;移除 vmm

修复-Wmissing-prototypes警告

Libcpu

AARCH64:修复内核入口符号;修复 ulog 环境下不能正常看到 trace 信息问题;使用设备树对 CPU 和内存进行初始化;提升 IRQ 禁用/启用的性能

ARM:新增 Cortex-M85、Cortex-R52 架构的支持;解决 Cortex-A 开启SMP工作异常问题(#8517)

RISC-V:修复 d1s smart build 失败的问题

修复mmap支持

支持 RT-Thread 内核中的整体 backtrace 框架;新增架构级 backtrace 服务的弱实现;新增 RV64 架构支持

规范Libcpugroup名为libcpu

Tools

支持工具链LLVMEmbeddedToolchainForArm-17.0.1

新增 scons --target=vsc/--pack=xxx 命令;新增 prebuilding 操作

修复脚本中MPU的rtconfig.h文件识别问题

rt_studio:修复 rt-studio 导入 bsp 工程缺失{cross_toolchain_flags}字段问题

env:修复 env 内置 python2 subprocess 问题

action

修复DoxygenCI问题

BSP新增CI看护

新增bspattachcheckCI

utest

新增内存系统测试用例;补充串口设备框架 serial_v2 测试用例;新增 mm 测试用例;新增调度器测试用例

BSP

完善若干 bsp 驱动文件;修复一些 bsp 存在的问题

RT-Smart 支持:DFZU2EG MPSoC、cv181x-riscv

STM32:STM32 G0、G4、L0、L4 系列支持一键开启切换 RT-Thread Nano 版本;STM32 Nucleo 系列增加板卡级识别宏;STM32 系列新增 Nano 版本 attach config 相关的 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

NXPmcxn:frdm-mcxn947、mcxa:frdm-mcxa153

Userapps

修复用户态在获取当前时间之后,调用到内核态再次获取当前时间,两边差值为负数,定时器不会运行的问题

在使用RT-Smart的情况下默认开启epoll/eventfd/signalfd/timerfd/select

移除prebuilt版本

修复setitimer缺陷,完善FUTEX支持

新增对RT-Smart终端子系统的支持(#8672)

其他更新:ssh,sftp,weston,vim…

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RT-Thread
    +关注

    关注

    31

    文章

    1285

    浏览量

    40071
  • 调度器
    +关注

    关注

    0

    文章

    98

    浏览量

    5245
收藏 人收藏

    评论

    相关推荐

    RT-Thread上CAN实践

    开箱测试RT-Thread官方已完成了对英飞凌XMC7200EVK的移植,通过shell可以看到做好了uart3的console。本文将介绍如何进行RT-ThreadCan移植。接下来我们要完成CAN_FD的驱动移植,并正常启动RT-T
    的头像 发表于 11-13 01:03 1134次阅读
    <b class='flag-5'>RT-Thread</b>上CAN实践

    开源共生 商业共赢 | RT-Thread 2024开发者大会报名启动!

    亲爱的RT-Thread开发者我们很高兴地宣布,一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread开发者大会)正式启动报名!2024RT-Threa
    的头像 发表于 10-29 08:06 344次阅读
    开源共生 商业共赢 | <b class='flag-5'>RT-Thread</b> 2024开发者大会报名启动!

    Nordic-RT-Thread5.1.0移植笔记

    Nordic-RT-Thread5.1.0移植笔记
    的头像 发表于 10-16 08:09 410次阅读
    Nordic-<b class='flag-5'>RT-Thread5.1.0</b>移植笔记

    新书发布——《RT-Thread嵌入式实时操作系统内核、驱动和应用开发技术》

    我们非常高兴地宣布,由郑苗秀、沈鸿飞和廖建尚编著的《RT-Thread嵌入式实时操作系统内核、驱动和应用开发技术》一书正式发布。本书的编写团队由多位在嵌入式和实时操作系统领域有着丰富经验的专家组
    的头像 发表于 09-03 08:06 569次阅读
    新书<b class='flag-5'>发布</b>——《<b class='flag-5'>RT-Thread</b>嵌入式实时操作系统内核、驱动和应用开发技术》

    2024 RT-Thread全球巡回 线下培训火热来袭!

    亲爱的RT-Thread社区成员们:我们非常高兴地宣布,2024年RT-Thread全球开发者线下培训即将拉开帷幕!24年全球巡回培训将覆盖超10座城市及国家,为开发者提供一个深入学习RT-Thread嵌入式开发的绝佳机会。
    的头像 发表于 08-07 08:35 1142次阅读
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 线下培训火热来袭!

    RT-Thread 新里程碑达成——GitHub Star 破万!

    /RT-Thread/rt-thread回顾RT-Thread发展历程,我们可以看到其显著的成长。2014年,当RT-Threadv1.2.0版本正式
    的头像 发表于 07-04 08:35 462次阅读
    <b class='flag-5'>RT-Thread</b> 新里程碑达成——GitHub Star 破万!

    在 ART-Pi Smart 体验 RT-Thread Smart v5.1.0

    1.引言RT-ThreadSmartv5.1.0已经正式发布。这一版本在内核和功能上做了大量的改进与增强。我们可以在ART-PiSmart开发板尽情探索这一新版更完善更强
    的头像 发表于 06-14 08:35 588次阅读
    在 ART-Pi Smart 体验 <b class='flag-5'>RT-Thread</b> Smart <b class='flag-5'>v5.1.0</b>

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

    6月6日下午我们将在杭州举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 05-28 08:35 437次阅读
    6月6日杭州站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    2024 RT-Thread 全球技术大会演讲议程发布!

    创造价值!2023RT-Thread全球技术大会汇集了人工智能、RISC-V、嵌入式、物联网、安全、应用、开发环境和工具等多领域的行业专家和RT-Thread社区工
    的头像 发表于 05-16 08:34 529次阅读
    2024 <b class='flag-5'>RT-Thread</b> 全球技术大会演讲议程<b class='flag-5'>发布</b>!

    新书发布——《实时操作系统应用技术:RT-Thread与ARM编程实践》

    RT-Thread又一本新书《实时操作系统应用技术——基于RT-Thread与ARM的编程实践》发布,标志着RT-Thread生态和实时操作系统技术教育领域又迎来了一个重要里程碑。本书
    的头像 发表于 05-11 08:35 790次阅读
    新书<b class='flag-5'>发布</b>——《实时操作系统应用技术:<b class='flag-5'>RT-Thread</b>与ARM编程实践》

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

    4月25日,下午我们将在北京举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 04-19 08:34 435次阅读
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站来啦!

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

    4月25日,下午我们将在北京举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 04-16 08:35 415次阅读
    4月25日北京站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    4月10日我们将在深圳福田举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深嵌入式软件工程师农晓明老师为您讲
    的头像 发表于 03-27 11:36 813次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    4月10日我们将在深圳福田举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 03-27 08:34 525次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    恩智浦半导体正式加入RT-Thread全球合作伙伴计划!

    前不久,恩智浦半导体正式加入RT-Thread全球合作伙伴计划,成为RT-Thread高级会员合作伙伴。同时,RT-Thread现已成为恩智浦注册合作伙伴(RT-Thread| 简介合
    的头像 发表于 03-14 10:40 613次阅读
    恩智浦半导体正式加入<b class='flag-5'>RT-Thread</b>全球合作伙伴计划!