什么是RT-Thread?

article/2025/8/25 21:54:00

一、RT-Thread的定义

RT-Thread,全称是 Real Time-Thread, 是一款主要由中国开源社区主导开发的开源实时操作系统(许可证GPLv2),包含了实时、嵌入式系统相关的各个组件:TCP/IP协议栈、图形用户界面等。

相较于Linux,RT-Thread 具有体积小,成本低,功耗低、启动快速的优势。除此以外,实时性高、占用资源小等特点,使得它也非常适用于各种资源受限(如成本、功耗限制等)的场合。

在物联网设备的应用中,RT-Thread 能使用在线软件包管理工具,配合系统配置工具,实现直观、快速的模块化裁剪、无缝导入丰富的软件功能包,以及类似 Android 的图形界面和触摸滑动、智能语音交互等复杂功能。

RT-Thread 系统完全开源,可以免费在商业产品中使用,并且不需要公开私有代码。

二、RT-Thread的架构

相对于一些传统的RTOS 如 FreeRTOS、uC/OS 等,RT-Thread 架构上最大的区别在于:它是一个物联网操作系统(IoT OS)

即RT-Thread 除了包含一个实时内核外,还包括如文件系统、图形库等较为完整的中间件组件,是具备低功耗、安全、通信协议支持和云端连接能力的软件平台,如下图所示:
在这里插入图片描述
具体包括以下部分:

  • 内核层:
    ① RT-Thread 内核:系统核心部分,包括了内核系统中对象的实现,例如多线程及其调度、消息队列、内存管理等;
    ② libcpu/BSP(芯片移植相关文件 / 板级支持包):与硬件密切相关,由外设驱动和 CPU 移植构成;
  • 组件与服务层:
    组件是基于内核之上的上层软件,例如虚拟文件系统、FinSH 命令行界面、网络框架、设备框架等。采用模块化设计,做到组件内部高内聚,组件之间低耦合;
  • RT-Thread 软件包:
    运行于 RT-Thread 物联网操作系统平台上,面向不同应用领域的通用软件组件,由描述信息、源代码或库文件组成。开发者可依据自身需求,选择、组合不同软件包,打造自己想要的系统。
    目前支持的软件包有且不仅有:
    ① 物联网相关:Paho MQTT、WebClient、mongoose、WebTerminal 等;
    ② 脚本语言相关:JerryScript、MicroPython ;
    ③ 多媒体相关:Openmv、mupdf;
    ④ 系统相关:RTGUI、Persimmon UI、lwext4、partition、SQLite 等。

三、RT-Thread的开发工具

Env 是 RT-Thread 的开发辅助工具,提供编译构建环境、图形化系统配置、软件包管理等功能。主要特性如下:

  1. 使用 scons 作为构建工具(根据一定的规则或指令,将源代码编译成可执行的二进制程序),提供编译环境,生成工程;
  2. 内置简单易用的配置剪裁工具——menuconfig,可对内核、组件和软件包进行自由裁剪,以搭积木的方式构建系统;
  3. 借助由 Kconfig 语法 编写的Kconfig 文件,生成系统配置文件 rtconfig.h。rtconfig.h 文件,负责在执行 menuconfig 命令时,指导生成 RT-Thread 系统的配置、剪裁界面;
  4. 提供多种软件包,可在线下载,各包耦合关联少,具有良好的可维护性。

http://chatgpt.dhexx.cn/article/P7SA9ghP.shtml

相关文章

Redis启动失败的原因及解决方法

跑了近半年的Redis,今天早上来开启电脑运行程序的时候发现提示无法连接redis,暗想自己明明设置了开机自启的阿,以前也一直没问提,今天怎么就连不上了重启了下redis就提示如下错误 网上搜了好久都没找到解决办法,后来想起来去查看了下redis的日志文件 发现提示当前版本的redis无…

redis启动、获取密码及修改密码

一、启动redis服务的两种方式 查看密码是以redis服务已启动的前提下进行的,可直接在服务中右键启动redis或者安装根目录运行cmd输入《redis-server.exe》(不推荐不推荐不推荐,说三遍,命令行启动好像有bug,启动后redis能用&#x…

CentOS安装Redis及redis启动与关闭、配置(详细)

在项目使用redis过程中,在centos7上部署redis,查找相关资料并总结、记录,以备后续查看。 目录 一、Redis介绍 二、在CentOS上部署Redis 1、Redis安装包可以从官网上下载或者直接命令下载 升级到gcc 9.3: 3、Redis配置文件…

Redis启动和连接

一)Redis简介 Redis不是简单的键值存储,它实际上是一个数据结构服务器,支持不同类型的值。 备注:由于我电脑是32位操作系统,所有就不提供redis软件下载地址了,请到官网下载使用。 软件解压之后&#xff0…

windows下Redis启动闪退问题解决经验汇总

最近使用Redis又遇到启动闪退的问题,之前记录的解决办法也失败了,一番研究后总算得到解决,感觉已经遇到了网上常见的各种问题,下面总结下。 我下载的是免安装版,解压便可使用。 官网下载传送门:Releases …

Windows下redis启动那些事儿

本文章主要描述我遇到的Windows下redis启动成功但Java项目无法连接问题 1.使用redis可视化工具可以连接,但是到Java项目中就报错连接失败 经过我的多方琢磨,还是密码没有配置正确,虽然是在redis.windows.conf配置文件中配置了 requirepass 密…

redis启动失败问题完美解决

1.输入启动命令redis-server.exe redis.windows.conf启动redis,发现启动失败报错:[8072] 07 May 09:28:52.241 # Creating Server TCP listening socket 127.0.0.1:6379: bind: No error D:\a\Main\redis> redis-server.exe redis.windows.conf[8072]…

windows redis启动

下载好redis后,只需解压。 然后打开dos窗口 进入redis解压目录 cd D:softwareRedis-x64-3.2.100运行下面命令启动 redis-server.exe redis.windows.conf成功启动 还可以把redis加入都开机自启动 redis-server --service-install redis.windows-service.conf …

redis启动和简单使用

redis启动和简单使用 1.redis启动 1.1 找到redis解压的位置,在里面输入cmd回车 1.2 输入redis-server redis.conf指令,然后回车,出现如下界面 注意:该界面不能关闭了 1.3 再进入一次redis解压的位置 输入cmd回车 1.4 输入redis-cli指令后的结果 1.5 补充 当出现…

Redis的启动方式三种

Redis的启动方式三种 启动一个 ,进入到redis中的src目录下 在控制台输入指令:redis-server (注意:这样启动默认端口是 6379 ) 进入客户端输入:redis-cli 查看进程,杀死进程 指定端口启动redi…

Redis的启动方法

一、Windows下 D: cd Redis //我的redis安装路径为D:\Redis redis-server.exe redis.windows.conf **如果报错creating server tcp listening socket 127.0.0.1:6379: bind No error D:\Redis>redis-cli.exe 127.0.0.1:6379> shutdown not connected> exit redi…

常见的配置中心:Apollo(二)-接入Apollo

1 配置 Apollo作为大型互联网系统生产级别的配置中心,在开发的积累当中构建了自己的配置维度体系。 1.1 配置四层维度 (1)Application(项目应用) 维度中的最顶层,在实际开发中我们一般以项目来作为最外层配置的区分维度。 (2)Environment(开发环境) …

apollo问题之 无法连接apollo配置中心

1.问题描述 1.1.现状场景 1.apollo的配置中心config-server 通过域名 http://demo-applo.wrok.com负载了两台机器10.10.10.02和 10.10.10.01 2.当前应用机器 可以访问并ping通 demo-applo.wrok.com域名 但是无法访问负载的机器1.2.报错信息 [demol-core-server:10.166.101.…

Apollo分布式配置中心(一)

目录 什么是配置? 什么是配置中心? 配置中心需要满足条件 什么是Apollo? Apollo特性 Apollo执行流程 Apollo安装 Git地址: 用户手册: 环境准备: 使用idea 的git clone 拉取源码 修改Apollo\scripts…

Apollo配置中心-手把手教你搭建Apollo配置中心运行环境

1、预置环境信息 运行环境 JDK > 1.8 具体安装及环境及环境变量配置这里不再赘述, 可自行查找资料。 2、下载程序包 演示版本使用的是apollo-1.9.2版本(就是几个springboot的项目) 应用包下载地址:https://github.com/apo…

Apollo 配置详解

Apollo的总体架构 Apollo的使用架构 Apollo的不同维度的配置分类 下面按照生效顺序 Application 在springboot的application.property定义appid这个key的value,标识该类型的应用。 Environment DEV(开发环境)FAT(功能测试&#…

Apollo配置中心多环境配置

Apollo的快速启动项目中,只有一个DEV(开发)环境,但是本身的一个apollo-portal管控端可以管理不同环境下的配置;所以apollo配置中心多环境配置下的主要思路为(这里以DEV和FAT两个环境举例说明)&a…

Apollo配置中心与本地配置优先级

背景 在项目重构时,删除若干个application-{env}.yml文件,仅保留一个application.yml文件,该文件中保留的配置项都是几乎不会变更的配置,至于需要跟随不同环境而变更的配置项都放置在Apollo配置中心。 然后本地application.yml文…

Apollo配置中心搭建

目录 1. 下载安装包和源码包2. 创建数据库和表3. 启动Apollo服务端4. 访问Apollo客户端 1. 下载安装包和源码包 下载地址 找到要安装的版本,我这里选择的是1.3.0版本 下载好安装包后上传至linux的 /usr/local/src文件下并执行下面命令解压到对应文件夹 mkdir apo…

Apollo配置中心动态生效机制

看了其他大佬的文章记录一下自己追源码的过程。 Apollo配置中心动态生效机制,是基于Http长轮询请求和Spring扩展机制实现的,在Spring容器启动过程中,Apollo通过自定义的BeanPostProcessor和BeanFactoryPostProcessor將参数中包含${…}占位符和…