跨年夜,一起邂逅RT-Thread V4.0.3!

2023-05-16

RT-Thread 4.0.3版本代码Release啦!

新年,我们的 RT-Thread 又有了长足的进展。

其中:

内核方面,修复了一些已知问题,提升了单核及多核下的调度稳定性,也除去了一些历史的包袱,变得更加的小而美了。

组件方面,我们把目光聚焦在了之前的一些问题上,完善了文件系统、SAL、AT 等组件,以及Sensor、USB、SPI、Serial等驱动框架,PM 电源管理框架也发布了 2.0 版本,大大提高了组件的易用性及稳定性。

BSP方面,我们又添加了 40 款 BSP,其中 STM32 系列的 BSP 15 个,非 STM32系列的 BSP 25 个,其中包括来自中科蓝讯、雅特力、东软载波、新塘、芯来、龙芯、华大、平头哥、瑞芯微等公司提交并官方维护 BSP。这些BSP驱动全,支持完善,不用担心BSP维护的问题了。此外,社区小伙伴mysterywolf 还提交了海外常用BSP的英文版Readme!

驱动方面,也变得更加完善,仅 raspi4-32 BSP 就得到来自中科院软件所鼎力支持并添加了 dma、bsc、dsi lcd/touch、waveshare spi lcd/touch、watchdog、hdmi、sdio、gpio interrupt 的驱动。

相信未来开发者使用我们的 BSP 一定会更加方便。

开发者致谢

在此特别感谢:

0xcccccccccccc, A.orz, ArdaFu, Chenxuan Zhao, Chinese66, Cliff Chen, Conley, DUXin-ece, David Lin, DeclanHuaChen, Dozingfiretruck, Du Huanpeng, Eric LGF, Fu Wei, GFWisshit, GaoJie, Han Xinrong, Hehesheng, Huaqi Fang, Ihavedone, Jianjia Ma, Jonne, Karl Zhang, Kevin Peng, Keyun-Johan, LYH-ux, Maofeng, Meco, Meco Man, NU-LL, Nimbus, Prry, Shawn Lin, SimpleInit, Sunwancn, WKJay, Wang-Huachen, WangHuachen, WangQiang, Watson Zeng, Wayne Lin, Wendal Chen, XYX12306, Yifeng Zhao, ZHU Hao, a1012112796, amy qian, asd7893361, bigaj, caixf, charlown, chengy4, chenxuuu, chenyingchun0312, chenzx, cliff-cmc, djndl1, duhuanpeng, ethan.du, greed-island, greedyhao, guohp1128, gyd0317, hphuang, ifreecoding, iysheng, jch12138, lihui, linyiyang, liuduanfei, longtengmcu, luhuadong, majianjia, malongwei, michael, minghao_wang, mysterywolf, ousugo, qiyongzhong0, qz721, redoc, roger, sgf201, sheltonyu, shentalon, suhui, supperthomas, tanglj86, teh-c, tonyzheng-rockchip, unknown, wanghongzhu, wangyq2018, whik, xiangxistu, xieyangrun, xingkong121, xph, xupenghu_huaweipc, xuzhuoyi, z14git, zhiweih, zhuyunfan, 林永, 刘泓研, 杨连钊, 马浩然, 来日方长, 打盹的消防车

特别感谢中科蓝讯、雅特力、东软载波、新塘、芯来、龙芯、华大、平头哥、瑞芯微等公司对本次版本更新做出的贡献!

由于你们的积极参与,让RT-Thread用户的产品开发变得更简单!期待更多的开发者参与进来,一起建设更好的物联网生态!

以下是部分重要更新:

查看详细更新内容请至

https://github.com/RT-Thread/rt-thread/releases/tag/v4.0.3

内核

- 添加__RTTHREAD__全局宏定义

- 添加用户堆算法选项

- 提升了单核及多核下的调度稳定性

- 更改线程清理方式,改为在当前线程退出之前执行清理操作

- 修复了内核定时器、IPC的一些BUG

- 修复了delay_until问题

- 从内核中移除对rt_system_object_init / rt_system_tick_init的调用。

- 从内核中移除组件配置宏`RT_USING_FINSH

组件

- 完善了文件系统

  · DFS 文件系统支持 Device 文件类型

  · 将 elmfat 更新到 R0.14 patch 1

  · 修复已知错误

- 网络相关

  · 完善 SAL 组件,添加 SAL_INTERNET_CHECK 配置项以支持打开或关闭网络状态检查

  · 完善 AT 组件多网卡支持,修复某些场景下内存泄露的问题。

  · 完善 DHCP 功能。

  · 修复已知错误

- 驱动框架

  · PIN 框架增加 rt_pin_get

  · 更新 RT-Thread PM 框架到 2.0 版本。

  · 传感器框架添加更多厂家类型及自定义命令支持。

  · 完善 USB 框架,修复 USB HOST 已知问题,修复 MAC OS 识别问题

  · 修复其他框架已知问题

BSP

- STM32 系列新增15个BSP

- 非 STM32 系列新新增25个BSP

- 完善 STM32 系列 BSP 的驱动

- 完善 龙芯系列 BSP,添加更多驱动

- 完善 树莓派 raspi4-32 BSP,添加了 dma、bsc、dsi lcd/touch、waveshare spi lcd/touch、watchdog、hdmi、sdio、gpio interrupt 的驱动支持

- 针对国外常用的 BSP 添加英文 README

- 修复已知问题

工具

- 为 stm32 BSP 添加 Studio IDE dist 特性

- 为 Eclipse目标添加C++支持

- 运行 --target=eclipse 时保留用户的lib配置

- 优化 使用命令`scons --menuconfig`生成`rtconfig.h`文件的逻辑

- 更新 building.py 并添加`tackanalysis`选项

- 修复 在Linux上makeimg.py的错误

下载地址:https://github.com/RT-Thread/rt-thread/releases/tag/v4.0.3

新年礼遇

对于即将到来的2021年,您又有哪些期许?制定了哪些小目标?RT-Thread为开发者们开启了【“牛”转乾坤,留言有奖】活动,分享2021年的小目标,赢丰厚大奖!参与方式如下:

1、下拉至留言板

2、设置标签为 # 再见2020# 、你好2021#,分享一下大家在过去一年里与RT-Thread得“恩怨情仇”与未来一年的学习计划!

3、留言点赞前6可获得以下奖品:

特别奖:RT-Thread吉祥物手办*1

第一名:ART-Pi *1

第二名:RT-Thread Smart 定制卫衣*2

第三名:RT-Thread 定制背包 * 3

你可以添加微信17775982065为好友,注明:公司+姓名,拉进RT-Thread 官方微信交流群!

RT-Thread


让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。Apache2.0协议,可免费在商业产品中使用,不需要公布源码,无潜在商业风险。

长按二维码,关注我们

 点击阅读原文下载新版本

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跨年夜,一起邂逅RT-Thread V4.0.3! 的相关文章

  • Rt-thread的CAN应用2

    1 rtt中使能CAN1 2 CubeMX生成部分代码 xff0c 完成下面操作然后生成MDK ARM项目文件 3 将CubeMX生成的 HAL CAN MspInit 函数 粘贴到drv can c中 并在rt hw can init 函
  • ESP_C3在ubuntu下运行RT-Thread

    1 clone源代码RT Thread git clone git 64 github com RT Thread rt thread git 2 开始搭建ESP IDF环境 进入源码到bsp文件夹下找到ESP32 C3 xff0c 开始配
  • C++:std::thread:线程用法

    1 std thread的基本用法 最简单的 std thread用法如下 调用 thread将立即同时开始执行这个新建立的线程 新线程的任务执行完毕之后 main 的主线程也会继续执行 include
  • 【C++11多线程】线程的创建与结束:thread

    文章目录 1 普通函数作为线程函数 1 1 thread 1 2 join 1 3 detach 1 4 joinable 2 函数对象作为线程函数 3 lambda表达式作为线程函数 4 类成员函数作为线程函数 5 向线程函数传递参数 1
  • 用Java Socket开发小型服务器,支持上千个并发

    Java Socket 套接字 socket 为两台计算机之间的通信提供了一种机制 在James Gosling注意到Java 语言之前 套接字就早已赫赫有名 该语言只是让您不必了解底层操作系统的细节就能有效地使用套接字 1 客户机 服务器
  • 线程池为什么能维持线程不释放,随时运行各种任务?

    版权声明 本文为博主原创文章 未经博主允许不得转载 技术交流可邮 cjh94520 outlook com https blog csdn net cjh94520 article details 70545202 线程池 之前一直有这个疑
  • QT多线程

    Qt多线程 1 QThread类 QThread类并不是代表一个新的线程 而是QT提供的一个接口 用于控制一个子线程 每个QThread的实例就代表着对一个新线程的一个控制类 对于第一次使用QT多线程的人 或许就会很迷惑很不适应 QThre
  • Python使用threading.Timer实现执行可循环的定时任务

    前言 Python中使用threading Timer执行定时任务时 执行任务是一次性的 类似于JS中的setTimeout方法 我们对其在封装 改造成可循环的定时器 类似于JS中setInterval方法的效果 值得注意的是 thread
  • boost.asio服务器使用io_service作为work pool

    使用io service作为处理工作的work pool 可以看到 就是通过io service post投递一个Handler到io service的队列 Handler在这个io service run内部得到执行 有可能你会发现 io
  • 转帖:Bash实现“多线程”的例子

    以下文章转自 http hi baidu com wwy1640 blog item a74d8c50a272b86384352443 html Bash实现 多线程 的例子 2007 04 25 22 59 bin bash 2006 7
  • C#-Async关键字(异步方法)

    async关键字 异步方法 async关键字是C 特有的 Java没有这玩意 async在C 世界里是上下文关键字 它只有在修饰一个方法的时候才自动被编译器识别为关键字 在代码的其他位置上可以被用作变量名等其他任何用途 async关键字用来
  • java线程的五大状态,阻塞状态详解

    一 状态简介 一个线程的生命周期里有五大状态 分别是 新生 就绪 运行 死亡 运行后可能遇到的阻塞状态 二 相关方法 2 1 新生状态 Thread t new Thread 正如我们前面所说的 一个线程开始之后有自己的内存空间 这些工作空
  • JAVA多线程--信号量(Semaphore)

    简介 信号量 Semaphore 有时被称为信号灯 是在多线程环境下使用的一种设施 它负责协调各个线程 以保证它们能够正确 合理的使用公共资源 一个计数信号量 从概念上讲 信号量维护了一个许可集 如有必要 在许可可用前会阻塞每一个 acqu
  • java常见笔试题目

    1 下列那一行代码编译后不会出现警告或错误 1 char c a 2 byte b 257 3 boolean b null 4 int i 10 5 float f 1 3 2 下面这段代码编译时会发生什么情况 public class
  • muduo1——编程风格:面向对象的编程和基于对象的编程(上)

    muduo库其实不是面向对象的编程 而是基于对象的编程 那么在进入正式的muduo源码分析之前 先来看看这两种编程风格 一 面向对象编程风格 通过对一个线程类的封装来进行讲解 Thread是一个抽象类不能实例化对象 TestThread是派
  • 同步方法及同步代码块

    synchronized方法和synchronized块 synchronized方法必须获得对象的锁才能执行 否则线程阻塞 方法一旦执行 就独占此锁 直到方法返回才释放锁 后面被阻塞的线程才能获得这个锁 继续执行 synchronized
  • wxWidgets开发之多线程wxThread编程

    上节说到使用wxCondition来实现某一消息处理的业务场景的多线程处理方法 在此之前先分享一下wxCondition用法 条件变量 最常用在多线程环境下 用来指示当前所在线程的某些条件已经满足 其他线程可以共享该线程的数据 或者去完成预
  • VC 如何使程序运行后自己删除自己

    VC 如何使程序运行后自己删除自己 有时候 我们需要创建一个运行后能够自己删除自己的可执行程序即自删除程序 很明显如果一个进程通过直接调用DeleteFile 来删除自己是不可能的 必须另想办法 经过本人在网上参考很多资料后实际测试并集众家
  • Java-多线程-给线程命名

    Java 多线程 给线程命名 在Java中 通过继承Thread创建的线程 有以下两种方式可以给线程命名 通过构造器命名 因为线程类继承自Thread类 所有也继承了Thread的name属性 可以通过super的方法调用父类构造器 将na
  • 一、使用interrupt()中断线程

    当一个线程运行时 另一个线程可以调用对应的Thread对象的interrupt 方法来中断它 该方法只是在目标线程中设置一个标志 表示它已经被中断 并立即返回 这里需要注意的是 如果只是单纯的调用interrupt 方法 线程并没有实际被中

随机推荐

  • I2C协议调试总结

    1 协议总结 开始 xff1a 在SCL为高期间 xff0c SDA由高变低 结束 xff1a 在SCL为高期间 xff0c SDA由低变高 应答 xff1a 时钟脉冲 xff19 期间释放数据线 xff0c SCL为高期间 xff0c S
  • mtk6765上i2c-tools的使用

    1 下载i2c tools 从开源网站http dl lm sensors org i2c tools releases 下载i2c tools 几个版本都可以用 xff0c 可以选择下载i2c tools 4 3 xff12 到官网下载交
  • mt6762/mt6765平台i2c驱动能力修改与波形优化

    mt6762在连接一些外设时 xff0c i2c在低电平会拉不低的情况 xff0c 最低电平在0 4V左右 xff0e 这时需要去掉外设的上拉电阻或调整硬件i2c的驱动电流 xff0e 修改文件路径 xff1a vendor mediate
  • cmake find_package 原理简介以及使用说明

    下面简单介绍Cmake 如何使用find package命令对外部库进行查找 cmake本身不提供任何关于搜索库的便捷方法 xff0c 也不会对库本身的环境变量进行设置 它仅仅是按照优先级顺序在指定的搜索路径进行查找Findxxx cmak
  • MT6762平台NXP NFC代码移植要点

    xff11 找到官网 xff0c 获取源码包 NXP NFC移植源码 https github com NXPNFCProject 固件 https github com NXP nfc NXPNFCC FW tags 2 主要介绍源码移植
  • mt6762添加gpio按键方法与问题调试

    mt6762添加gpio按键方法与问题调试 1 配置dts文件 xff0e 定义gpio87为拍照键 对于keycode 61 212 gpio keys gpio keys compatible 61 34 gpio keys 34 in
  • GD33F303RTC6串口USART0重映射问题

    GD32F303RTC6的串口有多个 xff0c 其中USART0串口可以定义为PA9 PA10 xff0c 也可以映射定义为PB6 PB7 USART0默认是用PA9 PA10 xff0c 如果需要映射到PB6 PB7 则需要gpio p
  • APM32F103CBT6调试接口复用为GPIO配置问题

    APM32F103CBT6调试接口复用为GPIO配置问题 xff1a 可以通过调整复用配置 xff0c 改为GPIO口 xff0c xff08 注意 xff1a 改为上电默认为GPIO口后 xff0c 将无法再用调试功能 xff0c 慎重选
  • APM32F103 USB键盘如何唤醒PC机

    USB2 0全速设备的技术规范 xff0c 所以支持远程唤醒的功能 xff0c 本文简单介绍全速USB模式下 xff0c USB键盘如何休眠PC xff0c 唤醒PC机 描述符配置 APM32F103鼠标设备配置描述符源代码如下 xff0c
  • 搭建机器人电控系统——如何从零开发主控?——编译环境的选择KEIL、IAR、STM32CubeMX、ROS

    搭建机器人电控系统 如何从零开发主控 xff1f 编译环境的选择 主控的从零开发 编译环境的选择 我以我目前接触到的编译环境为例子 xff0c 目前机器人主控的编译环境一般有三种 xff1a KEIL STM32CubeMX IAR LIN
  • 计算机视觉实验三-全景图像拼接

    目录 一 图像映射与全景拼接 1 1 简介 1 2基础流程 1 3计算图像之间的变换结构 1 4图像拼接的几何原理 编辑 1 5变换类型选择 1 6 2D 图像变换原理 1 7 图像映射流程 1 8 图像拼接整体流程 二 全景拼接测试 2
  • 倒立摆系统

    倒立摆系统是典型的多变量 xff0c 非线性 xff0c 自不稳定和强耦合不确定系统 它可以有效反应控制过程中的许多关键问题 xff0c 是测试各种控制理论的理想模型 以倒立摆为控制对象 xff0c 研究者们已对各种控制理论进行了验证 xf
  • FREERTOS使用任务通知和队列进行串口实时通信实例

    1 xff0c 帧间隔小于10ms的批量数据刷新 采用接收中断 43 空闲中断配合任务通知实现定时处理 2 xff0c 批量大数据传输 采用接收中断 43 队列方式实现接收 3 xff0c 固定帧格式慢速数据 xff0c 采用空闲中断 43
  • ROS+openCV图像处理方法及案例

    本文内容环境Ubuntu20 04 首先 xff0c 我们需要安装openCV sudo apt get install ros noetic vision opencv libopencv dev python3 opencv 然后需要安
  • ubuntu c++使用eigen提示"fatal error: Eigen/Dense: No such file or directory"的解决办法

    include lt Eigen Dense gt 记得命名安装了eigen库啊 为啥提示找不到库文件啊 xff1f 初步怀疑环境的配置问题 xff0e 查到到eigen的安装路径为 xff1a usr include eigen3 Eig
  • C++学习之路(一):搭建C++开发环境

    文章目录 前言一 Windows平台下C 43 43 环境搭建1 1 Visual Studio安装1 2 创建C 43 43 项目 二 Linux平台下C 43 43 环境搭建2 1 安装编译工具2 2 cmake脚本编写 结束 前言 在
  • 为什么要使用事件而不是委托变量?

    用委托变量会让客户端Main方法里可以直接调用 用事件则提高了封装性 class Program static void Main string args Pub p 61 new Pub Sub s 61 new Sub p Number
  • FreeRTOS原理,在STM32下完成一个基于FreeRTOS的多任务程序

    一 学习FreeROTS 1 Free 即免费的 xff0c RTOS 全称是 Real Time Operating System xff0c 中文就是实时操作系统 注意 xff0c RTOS 不是指某一个确定的系统 xff0c 而是指一
  • 关于Ubuntu18.04安装后的一系列环境配置过程的总结

    Updating 目录 1 注意 2 更换国内源 3 设置 home文件夹下为英文 4 禁用Nouveau驱动 5 安装Nvidia驱动 xff08 有可能会损坏系统 xff0c 如果损坏可以重装并看看网上的其他教程 xff0c 除了这种安
  • 跨年夜,一起邂逅RT-Thread V4.0.3!

    RT Thread 4 0 3版本代码Release啦 xff01 新年 xff0c 我们的 RT Thread 又有了长足的进展 其中 xff1a 内核方面 xff0c 修复了一些已知问题 xff0c 提升了单核及多核下的调度稳定性 xf