RT-Thread v5.0.2 发布

2023-10-14 06:04
文章标签 发布 thread rt v5.0

本文主要是介绍RT-Thread v5.0.2 发布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RT-Thread 代码仓库地址:
● https://github.com/RT-Thread/rt-thread

RT-Thread 5.0.2 版本发布日志详情:
● https://github.com/RT-Thread/rt-thread/releases/tag/v5.0.2

RT-Thread 迎来了全新的版本 v5.0.2,自 v5.0.0 版本发布以来,内核和组件都经历了一系列令人激动的变化和改进。

以下是一些亮点和关键变更:

🧰 内核改进:
● 新增了AMP支持。

● 新增了消息队列的消息优先级。

● 新增了rt_hw_interrupt_is_disabled API ,用于检测是否关闭了中断;

● 新增了获取对象名称、线程名称的API。

● 完善了errno与 POSIX 兼容,提升兼容性。

● 完善了原子操作Atomic支持检测。

● 完善了device_open接口,避免重复调用。

● 移除了互斥锁中的递归,增强了稳定性。

● 合并了 DBG 头文件,去除冗余代码。

● 修改了rt_thread的结构,以明确继承rt_object。

● 修复了用户模式下 MQ 接收阻塞问题。

● 修复了thread.c中变量rt_err未初始化以及timer.c中类型转换错误( IAR )。

🔌 组件更新:
● lwp:

○ 增加了对 elf 具有添加的可执行权限检查的支持。

○ 支持了 IEEE Std 1003.1-2017 的信号更多特性。

○ 支持文件描述符传输。

○ 修复了内存泄漏问题,提高了稳定性。

○ 添加了更多的系统调用支持。

● libc

○ 适配 rt_channel, 增加 dfs v2 上部分 rt_channel 功能的通用性,以及标准化 signalfd。

○ 将 libc.c 重命名为 posix/stdio.c。

○ 添加 timerfd 系统调用功能。

○ 实现了轻量级时区配置;优化资源消耗。

○ 支持rt-thread CPP包装子开关宏,外部第三方 libc 软件包

○ 支持了picolibc 的heap。

○ 将sys/ioctl重定向头文件到bits/ioctl,改进 posix 接口消息队列。

● utilities

○ 移除 zmodem。

○ 支持可扩展的内存管理。

● dfs:

○ 升级设备文件系统(dfs)到v2版本,同时考虑到兼容也保留v1版本供Kconfig配置选择。

○ 完善fd关闭策略,避免潜在的内存泄漏问题。

○ 修复了 tmpfs 自旋锁错误,nfs 64位架构错误。

● mm:

○ 新增 unmap page API。

○ 改进了 list_page 的输出。

○ 添加了取消映射页面的 API,更好地管理内存。

○ 修复了lwp _load_script。

○ 修改了在 fork 子进程时,lwp_struct_copy函数添加了复制working_directory函数。

● finsh

○ 新增了 MSH 自动补齐子选项功能。

○ 修复了 Finsh 偏移在范围检查之前被使用的问题。

● Network

○ 添加了更多的钩子函数。

○ 修复了 ping 超时计算错误,ipv6 兼容性问题。

○ 修复了在lwip_ip4_route_src中找到 next-hop 的问题。

○ 修改了使用接口来设置默认的网络设备。

○ 优化了at_vprintfln和与网络相关的 Kconfig 。

📦 驱动设备:
● 为 device driver v2.0 做好准备,带来更多的功能和性能提升。

● 添加了设备树子节点搜索宏,提升了设备管理的效率。

● 修复了串口有时重复发送回车符的问题,提升串口通信的稳定性。

● 修复了多线程中的 CPU 定时器问题,dtb 编译警告。

● 优化了 SPI 传输速度并修复了一些问题。

● 修改了 ADC 通道数据类型,并添加了内置通道通用编号识别。

● 修改了将当前传感器框架转回 v1 版本,并使其独立于 v2 。

● 修复了 Sensor-V1 中返回类型不一致的错误,重新定义 Sensor-V2 作为传感器框架。

● 修改了将 tty 的驱动程序更改为设备,并修复了多个 scanfs 导致数据丢失问题。

⚙️ Libcpu:
● 在riscv、arm、aarch64、arc等架构下进行了多项修复和优化,提高了性能和稳定性。

● 实现了用于 rt_hw_cpu_shutdown 的默认弱函数。

● 为aarch64、arm cortex-a、risc-v添加了 gdb 展开程序的 cfi 信息。

🔧 Tools:
● 支持了更多 BSP 的驱动程序编译,确保更广泛的硬件兼容性。

● 添加了 CI 流程,提高了项目的可维护性。

● 新增了llvm-arm 16.0 支持,并添加了 llvm-arm 工作流。

● 为file_check.py添加了过滤不需要cppcheck的文件的功能。

● 为 scons 添加了–add-rtconfig参数,用于在构建时添加宏定义。

● 修复了在 Keil-MDK 中无法选择 c99 和 gnu 选项的问题。

● 修复了4.5.0以上scons版本Env[‘CPPDEFINES’] deque 的问题。

🔄 Action:
● 添加了 CI 来编译更多已更改 BSP 的驱动程序,添加了 pkgs-test;添加了手动触发和失败 BSP 检查;为手动触发添加了更多配置。

● 添加了 repo 检查;添加了 code_owner 的审查请求;添加了 format 和静态检查的 paths-ignore。

● 为所有 STM32 添加了手动触发,添加了 exp_STM32 SCons。

● 重构和优化了 ci 的执行流程,并添加了手动触发和 cppcheck 检查以进行 scons dist 。

📦 BSP:
新增了一些新的bsp:

● ST: stm32u585-iot02a, stm32f405zgtx, stm32h563-st-nucleo, stm32h563-st-nucleo, stm32f407-rt-spark, stm32f334-st-nucleo, stm32l496-st-discovery

● SOPHGO: cv1800b

● TI: msp432e401y-LaunchPad

● APM32: apm32e103ze-evalboard, apm32e103ze-tinyboard, apm32f030r8-miniboard

● AT32: at32f423-start

● Essemi: es32vf2264

● Imxrt: imxrt1061-forlinx-OK1061-S

● Renesas: ra6m3-hmi-board

● Yichip: yc3122-pos

● Bouffalo_lab: bl808/d0

修复了一些问题:

● 修复了在 VS2019 编译时在 bsp/simulator 中存在的原子易失性问题。

● 修复了所有drv_gpio.c中rt_pin_ops的不匹配函数类型。

这篇关于RT-Thread v5.0.2 发布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/208659

相关文章

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面