RT-Thread 5.0.0 发布

RT-Thread实时操作系统简介 阅读详情

5a0e9c9998ccb8c632bf6cd590538b6d.png

令人期待的RT-Thread 5.0.0版本今天终于跟大家正式见面啦~!我们一起来看看它都有什么新功能、新特性吧!

➢ RT-Thread 代码仓库地址:

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

➢ RT-Thread 5.0.0发布版本:

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

RT-Thread 5.0.0将RT-Thread smart分支合并到主分支上,后续将与主线版本一同维护;即5.0.0版本增加了RT-Thread Smart特性,支持用户模式;除此之外,还为增加了原子特性,对调度器文件进行功能拆分;在组件层面还新增tmpfs文件系统,增加musl libc支持并完善了POSIX的支持;在bsp层面,新增了约40+个bsp等。

接下来我们从内核、组件、libcpu、bsp、tools等几个方面对5.0.0的更新进行详细说明,并针对Smart特性展开讲解。

内核部分

✓ 增加RT-Thread Smart特性,支持用户模式应用。(Smart将展开说明)

✓ 添加原子特性。

✓ 增加嵌套互斥功能。

✓ 增加rt_ssize_t数据结构。

✓ 为rt_object添加静态名称(#6422)。

✓ 采用新版本宏定义版本控制规范:https://semver.org

✓ 将scheduler.c拆分(#7103)。

✓ 修复了AC6编译器在memheap中的Oz优化问题

✓ 修复rt_memset与字大小无关的问题。

✓ 修改RT_ALIGN_SIZE默认为8。

组件部分

✓ 添加FDT(扁平设备树),TMPFS, CRomFS

✓ Libc:

● 增加musl libc支持。

● 完善Posix支持。

✓ LWP:

● 增加更多系统调用支持。

● 增加mm(虚拟内存管理层)特性。

● 提高时钟精度。

✓ 网络:增加AF_UNIX特性。

✓ 驱动设备:

● 改进:传感器,spi, i2c,UART,can, usb, cpu_time, sdio, pwm等。

libcpu

✓ arm:cortex-a恢复安全MMU初始化,cortex-m7改变函数rt_hw_cpu_dcache_ops的返回类型为rt_uint32_t等。

✓ risc-v:支持非缓存的普通内存,增加rt_backtrace函数等。

✓ aarch64:增加rt_backtrace函数,当没有空闲页面时停止。

tools

✓ 提升的ci功能。

✓ 添加scons命令:scons—exec-path=xxx, scons—exec-prefix=, scons—dist—target=xxx, scons—strict, scons—dist—project-path=xxxx,等。

bsp

新增bsp:

● 增加了支持smart的 bsp:D1/D1s, raspberry, qemu-vexpress-a9, qemu-virt64-aarch64, qemu-virt64-riscv等。

● Renesas:ra6m3

● Infineon PSoC6:062s2, 062s3-4343w, 062s4, 062-wifi-bt, 062-ble

● nuvoton:numaker-iot-m467, numaker-m467hj, numaker-hmi-ma35d1

● nxp:LPC55S16, LPC55S36, LPC55S06, LPC5528, LPC55S28

● nrf5xxx:nrf5340

● gd32:gd32470z-lckfb, GD32303C-START

● apm32:

apm32f030r8-miniboard, apm32f051r8-evalboard, apm32f091vc-miniboard等

● n32:n32g43xcl-stb, n32g457qel-stb, n32g45xcl-stb等

● mm32:mm32f3270-100ask-pitaya

● at32:at32f421-start, at32f425-start

● stm32:stm32f723-st-disco

● phytium:aarch32, aarch64

● 其他:core-v-cv32e40p, air32f103, YS-F1Pro 等等

RT-Thread Smart说明

如果RT-Thread 开启了Smart特性, 就变成了一个混合微内核操作系统,可以简称为RT-Smart或Smart,它把应用从内核中独立出来,形成独立的用户态应用程序,并具备独立的地址空间(32 位系统上是 4G 的独立地址空间)。以下是5.0.0版本上Smart部分的详细说明/使用说明:

Smart平台

支持Smart开发的BSP列表:

● qemu-vexpress-a9

● qemu-virt64-aarch64

● qemu-virt64-riscv

● raspberry-pi

● imx6ull-100ask-smart

● imx6ull-artpi-smart

Smart特性使能

打开RT-Thread源码,在支持Smart的BSP路径下打开Env,配置Smart特性,使能“RT-Thread Kernel → Enable RT-Thread Smart(microkernel on kernel/userland)”:

bd3617c34676118b4be3a5f284e27efb.png

Smart 用户态应用功能

Smart用户态应用与内核相互独立,并不存在于rt-thread源码中,用户态应用功能如下:

● 支持基本应用加载

● 支持 POSIX PSE51 标准接口

● 支持外设

● 支持网络功能

● 支持 RT-Thread 原生接口

● 支持GNU 应用

Smart用户态应用工程示例

用户态应用位于https://github.com/RT-Thread/userapps,如下是应用示例:

c4f9384c1ac89a555d1713a6c132623b.png

编译应用

在 userapps 目录下使用 scons 编译,编译顺利的话,将在 root 文件夹中得到一系列可执行 elf 文件,如下图所示,这是userapps下的多个用户态应用示例编译生成的可执行文件。

008b75f75a892f74c4888120f2602d5b.png





制作sd卡

在 userapps\tools\fatdisk 目录下有一个打包 FAT 格式文件的工具 fatdisk.exe,我们可以利用这个工具将我们要存储到 QEMU SD 卡里的文件打包成 sd.bin 文件。

将 userapps 下的 root 目录复制到 env\tools\fatdisk 目录下,双击执行fatdisk.exe生成新的sd.bin文件。

5cd9bba46d175228111cb671e85af5d7.png

Smart VSCode插件

RT-Thread Smart插件的诞生方便了Smart应用的开发。打开VSCode,在扩展中搜索“rt-thread smart”,点击安装即可获得Smart插件。

ca355355661cfc22b3a80f6502a7565b.png

smart插件SDK管理界面如下

4c88af204c56234bc4b4e9998166a799.png

打开某个应用,对应该进行编译安装。

11bd9a7a0eaeb5bd06a7f97074a9d465.png

Smart工具链下载

Smart工具链中

方法一:在userapps/tools 路径下使用命令下载:python get_toolchain.py [platform]

方法二:在Smart插件中点击“安装工具链”。

Smart运行GNU应用

Smart对POSIX接口有较好的支持,所以移植GNU应用到Smart上就变得简单。

方法一:手动增添一个应用工程,在应用工程中加入GNU应用。

方法二:使用RT-Thread Smart插件直接创建应用工程,加入GNU应用。

贡献者列表

非常感谢ANDREW LI-Nordic, Alexey Brodkin, BreederBai, BruceOu, CaiYiming0503, Fan Yang, Frank Buss, Harrypotter-zhs, KurisaW, Lei Peng, Maihuanyi, Misthao, Moss, NU-LL, NationsHuanghanbin, SNOWA, ShaquilleLiu, Stanley Lwin, WCX, Wayne Lin, YangZhongQing, Yifan, Yifang, Ylne, Yohozzy, YuQi, Yunjie Gu, ZXY_LINUX, Zhang WenBin, Zxy, a1012112796, andrew li, betesla, bin, breederbai, bzrobotics, ccx-lan, chenbin182, chenhy0106, childerxxx, chinky, emuzit, fan.ji, flyingcys, goldengrandpa, hg0720, jonas, kylongmu, letian, lhylhylhy6, liYony, linshire, liyangyang, lpy, luobeihai, mingmiaojing, myshow2258, myshowtogo, self-confident neko, sheltonyu, slhuan, songw4232, spaceman, supperthomas, tangzz98, tuduweb, vandoul, wangfuan, wdfk-prog, winfenggao, xiao xie, xiaoguang_ma, xjy, xqyjlj, xuhonghao, yandld, yangfasheng, yuanzihao, zhaohaisheng, zhugengyu, zilong, 会飞的猪, 打盹的消防车, 杨熙, 梁生, 螺丝松掉的人, 褚仕成, 满鉴霆(Meco)等开发者 以及NXP、瑞萨、沁恒、新唐、国民技术、先辑、极海、小华、灵动微电子、雅特力、东软载波、博流智能、合宙、飞腾等公司 以及中科院软件所PLCT实验室对本次版本更新做出的贡献!

(以上贡献者列表为人工统计,难免会有疏漏。如有疏漏,还请私信公众号或留言!)

———————End———————

RT-Thread线下入门培训-4月场次 青岛、北京

1.免费 2.动手实验+理论 3.主办方免费提供开发板 4.自行携带电脑,及插线板用于笔记本电脑充电 5.参与者需要有C语言、单片机(ARM Cortex-M核)基础,请提前安装好RT-Thread Studio 开发环境

d48cbd2eb1c5ec9537f0fa01527df20a.png

立即扫码报名

报名链接

https://jinshuju.net/f/UYxS2k

巡回城市:青岛、北京、西安、成都、武汉、郑州、杭州、深圳、上海、南京

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

2ec95d489c64375559e589e51b418412.gif

👊点击阅读原文,进入RT-Thread x IFX赛事官网

RT-Thread移植(二):CPU架构 在嵌入式领域有多种不同 CPU 架构,例如 Cortex-M、ARM920T、MIPS32、RISC-V 等等。为了使 RT-Thread 能够在不同 CPU 架构的芯片上运行,RT-Thread 提供了一个 libcpu 抽象层来适配不同的 CPU 架构。libcpu 层向上对内核提供统一的接口,包括全局中断的开关,线程栈的初始化,上下文切换等。 阅读详情

相关推荐

【国产MCU移植】移植RT-Thread到国产芯片HC32L196

序 移植原理 rt-thread源码结构 目录 说明 bsp 板级支持包。存放各种硬件平台的驱动代码,初始化代码,工程文件。 components 组件。如finsh控制台,抽象层驱动,文件系统,网络系统。 examples 示例程序 include 内核以及libc的头文件 libcpu 与CPU架构相关的接口,为操作系统调度提供支持。 src 内核代码,如线程、定时器、线程间通信(互斥锁,信号量)。 https://www.rt-thread.org/docume

wenbodong的专栏 7754

RT-Thread简介

RT-Thread是一款完全由国内团队开发维护的嵌入式实时操作系统(RTOS),具有完全的自主知识产权。经过16个年头的沉淀,伴随着物联网的兴起,它正演变成一个功能强大、组件丰富的物联网操作系统。RT-Thread,全称是Real Time-Thread,顾名思义,它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,允许多个任务同时运行并不意味着处理器在同一时刻真地执行了多个任务。事实上,一个处理器核心在某一时刻只能运行一个任务。

Caramel_biscuit的博客 4040

RT-Thread v5.0.2 发布

添加了 format 和静态检查的 paths-ignore。RT-Thread 迎来了全新的版本 v5.0.2,自 v5.0.0 版本发布以来,内核和组件都经历了一系列令人激动的变化和改进。○ 修改了在 fork 子进程时,lwp_struct_copy函数添加了复制working_directory函数。● 重构和优化了 ci 的执行流程,并添加了手动触发和 cppcheck 检查以进行 scons dist。● 新增了llvm-arm 16.0 支持,并添加了 llvm-arm 工作流。

开发学习过程中一点经验积累 862

rtthread学习笔记(一)

RT-Thread(Real Time-Thread),是一个嵌入式实时操作系统,基本属性之一是支持多任务,在rtt系统中,任务通过线程实现名词解释——rttread特点:是一个高度可伸缩组件完整丰富、简易开发、超低功耗、高安全性的物联网操作系统高度可伸缩——可以根据MCU资源情况裁剪或添加组件,最小仅需(NANO版本——极简版内核)。实时内核的实现包括:☐ 对象管理(Object Management)

weixin_43231779的博客 7253

RT-Thread创始人新年寄语 开源如水、商业似船_rt-thread 开源似水

这个时候,异构系统普遍成为大家的共识,在一颗SoC中集成CPU,GPU,DSP,实时核,神经网络加速器,由它们分别来完成不同领域的事情。在应用程序生态上,RT-Thread Smart系统则提供了完善的用户态POSIX环境,让一些Linux/Unix开源程序更容易地、无缝地移植到RT-Thread Smart系统上,例如使用非常广泛的OpenSSL,FFmpeg多媒体框架,完整版的Python等,都可以在不修改代码的情况下,在RT-Thread Smart环境下重新编译一遍即可运行。

2401_87299955的博客 2220

RT-Thread Nano 简介

RT-Thread Nano 是一个精炼的硬实时内核,内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性。 MDK5 以后采用 pack 形式管理芯片及各种相关组件,RT-Thread Nano 也是通 过 MDK pack 方式发布,RT-Thread Nano pack 包括 device drivers、kernel 和 shell (msh) 三部分功能,用户可以从 MDK 的 Run-time Environment 按需要加 载。 在支持 sem

道亦无名 1万+

RT-Thread v5.1.0 发布

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.0Kernelkservice:使用 ...

strongerHuang 1469

电商平台大数据分析指标

一、五大关键数据分析指标 1.1活跃用户量 活跃用户量是一个基本的指标,有 DAU(日活跃用户)、WAU(周活跃用户)和 MAU(月活跃用户)三个层次; 1.2转化 转化是一个非常重要的指标,电商运营需要关注主路径、次路径甚至精细到每一个品类 / SKU 的转化率; 1.3留存 留存要从不同的时间周期上研究,包括次日留存率、3 日、7 日、30 日留存; 1.4复购 复购则要从 3 个角度去看,复购用户量、复购率和复购金额比; 1.5GMV GMV 是最重要的指标,我们的运营最终是围绕这

默主归沙的博客 4818

4月14号软件资讯更新合集.....

sms-aggregation 自开源以来受到的众多的反馈,其中很多人在吐槽名字又丑又长不容易记,经过社区内投票之后,成功更定新名称 sms4j,新名称将伴随新的包名,groupId,新的特性,新的文档,在周六进行发布,这次的更新是跨越性的更新,也是全新的起航,在后续将会新版本的迭代计划和维护计划,在作者的有生之年,这个项目将长久的维护下去。在 Android 操作系统中,功能是由两个独立但同样重要的软件包实现的:框架和系统 UI,前者提供服务,后者让用户控制这些服务。

2301_76364917的博客 485

ROS2与Gazebo协同实现多机器人避障仿真

本文详细介绍了如何利用ROS2与Gazebo协同搭建多机器人避障仿真环境。通过创建SDF机器人模型、编写多机器人启动文件以及集成基础避障算法,构建了一个低成本、高效率的虚拟测试平台,为AGV编队、机器人集群等项目的算法验证与迭代提供了完整解决方案。

weixin_29065659的博客 293

Echats-wordcloud 文字云图的踩坑点【Unknown series wordCloud】

一直都是报 【ECharts Unknown series wordCloud】这玩意可能要刷脸,祝你好运吧~

Sky_Bug的博客 2417

RT-Thread 5.0.1 qemu-virt64-aarch64 解决编译问题

RT-Thread 5.0.1 qemu-virt64-aarch64 解决编译问题

坚韧与专注 1539

使用 YOLO26 的牙科全景X光片分析:从牙齿检测到疾病诊断

从数据预处理自动化、模型架构针对性优化到基于视觉特征的性能分析。它证明了在医学图像分析中,模型架构的进步(如YOLO26的特性)可以有效缓解数据不平衡和目标微小的问题,为临床自动化诊断提供了一个高效、可靠的解决方案。Python"""全局配置模块包含数据集路径、类别名称、论文复现参数、划分比例等常量"""import os# ==================== 路径配置 ====================

u012133341的博客 102

6.RT-Thread 使用MY MQTT软件包连接mqtt

文章使用RT-Thread 标准版,版本为5.0.2。使用野火霸道主板,主控为STM32F103VET6。该文章介绍在RT-Thread studio上开始添加MY MQTT软件包,并实现mqtt数据交互功能。

henan_zhang的博客 443

图机器学习(2)——图的可视化

图结构可通过图形化方式直观呈现。节点通常用圆形表示,边则用连接线表示。然而当节点和边数量增加时,绘制清晰的图形表示可能会变得相当困难,这主要源于节点在二维坐标系中的布局问题。对于包含数百个节点的图,手动指定每个节点的坐标显然不切实际。在本节中,我们将介绍如何在不指定每个节点坐标的情况下绘制图形。我们将利用两种不同的解决方案:networkx 和 Gephi。

盼小辉丶的博客 8699

开源遥感语义分割工具箱mmsegmentation基于Lovedata数据集训练模型

开源遥感语义分割工具箱mmsegmentation基于Lovedata数据集训练模型

yilvyangguang520的博客 498

CherryUSB未来路线图:即将发布的5大新功能预览

CherryUSB作为一款面向嵌入式系统的轻量级USB协议栈,正通过持续迭代为开发者带来更强大的功能体验。本文将独家揭秘CherryUSB即将推出的五大核心功能,帮助开发者提前了解这些能显著提升开发效率的新特性。 ## 1. USB 3.0 SuperSpeed支持:开启高速数据传输新纪元 CherryUSB下一版本将重点增强USB 3.0 SuperSpeed支持,通过优化xhci主机控制器

gitblog_01023的博客 446

水与光的奇妙“切割之舞”:水导激光切割技术探秘

水导激光切割技术的诞生,是材料加工领域不断追求高精度、高质量加工的成果。传统激光切割技术在加工过程中,材料会因瞬间高温而产生热变形、热影响区大以及切割面粗糙等问题,这些弊端在对一些高精度、热敏性材料的加工中尤为突出 ,迫切需要一种新的技术来克服这些难题。水导激光切割技术的起源可以追溯到 20 世纪 80 年代。1986 年,德国公司 Aesculap-Werke AG 首次提出了将水流引入激光切割过程的创新想法,并制造出首代水导激光设备。不过,当时的技术尚处于雏形阶段,仅仅是在光纤出口添加了一小柱水流,激光

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1672

RT-Thread零基础快速入门第0讲——环境安装

RT-Thread是一个嵌入式操作系统,适用于物联网的构建。 我也是最近才开始接触RT-Thread,以前用单片机都是裸奔的,从来没有跑过操作系统,现在从零开始学。因为目前网上关于RT-Thread的开发资料还比较少,也比较零碎,所以我在学习过程中,走了不少弯路。因此,我想从一个零基础入门者的角度写一些快速入门的攻略,以便后来的人能够更快的上手,少走弯路,也希望有更多人与我共同进步。

ShenZhen_zixian的博客 1万+

【零基础入门unity游戏开发——2D篇】SpriteEditor图片编辑器

【零基础入门unity游戏开发——2D篇】SpriteEditor图片编辑器

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2326

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【正点原子STM32探索者】体验RT-Thread最新5.x版本

本位将介绍如何在**正点原子STM32探索者V3开发板**上运行RT-Thread 5.0.0版本,并体验交互式shell命令行操作。本文介绍的方法,同样适用于体验rt-thread最新开发版本,即github主线(master)分支版本。对于想要体验RT-Thread最新版本,或者想要参与RT-Thread开源贡献的朋友,本文值得你的阅读。

码工许师傅 3294

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

从小白到起飞的 RT-Thread 开发指南

Hello,大家好,我是 RT-Thread 宣传委员(自封的)???? 我经常给大家安利 RT-Thread,尤其是那些还没用上 RT-Thread、在纠结选择哪个 RTOS、要不要学习 RTOS 的朋友。 RT-Thread 简介 RT-Thread 是什么 据不完全统计,世界有成千上万个 RTOS(Real-time operating system,实时操作系统),RT-Thread 就是其中一个优秀的作品。 RT-Thread 内核的第一个版本是熊谱翔先生在 2006 年年初发布的 0.1 版本。

程序员「阿基米东」的编程之旅 3万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

在RT-Thread上移植EtherCAT开源主站SOEM1.4.0

EtherCAT在运动控制领域非常热门,有SOEM和IGH的开源主机实现。在STM系列处理器上的实现比较多,在RT-Thread上的实现还没有看到。这次就基于RT-Thread移植SEOM,并实现了DC+CSP对汇川伺服IS620N的控制,同步周期为1ms。

lg28870983的博客 8838

RT-Thread快速入门-初探RT-Thread

一文带你了解 RT-Thread

一起学嵌入式 2021

一文让你了解RT-Thread

前言要学习一项新知识或新的技能,首先要对其有个初步了解,然后再逐步学习如何运用它。本文作为快速入门 RT-Thread 系列文章的第一篇,首先介绍一下,我当时是如何学习 RT-Thread...

嵌入式Linux 3034

RT-Thread v4.1.0正式发布了!

自发布v4.1.0 beta版本以来,我们收到了很多大家的反馈,经过我们和社区小伙伴们的共同努力,一起修复了一些问题,完善了新增的特性,现在RT-Thread v4.1.0 版本正式发布了。那么这个正式版本相对于之前的Beta版到底有哪些改进呢,下面我们一起来看。1内核内核部分变化不大,正式版本要保持内核稳定,所以只是完善了调试日志,增加了一种新的Hook机制,以及修复了...

789
上一篇: 报名RT-Thread x Infineon创意创客大赛,体验英飞凌新款开发板!
下一篇: RT-Thread 互补滤波器 (STM32 + 6 轴 IMU)
RT-Thread物联网操作系统
博客等级 码龄6年 2万+粉丝 392原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值