RT-Thread 操作系统介绍、移植及内核介绍


一、介绍

1.1、愿景

做世界级的 OS,让万物互联,信息畅通无阻,成为未来 AIoT 领域最为主流的操作系统平台。

1.2、简介

RT-Thread 是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,RT-Thread 也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread 具备一个 IoT OS 平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过11年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过 8亿 台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。
RT-Thread 拥有良好的软件生态,支持市面上所有主流的编译工具如 GCC、Keil、IAR 等,工具链完善、友好,支持各类标准接口,如 POSIX、CMSIS、C++应用环境、Javascript 执行环境等,方便开发者移植各类应用程序。商用支持所有主流MCU架构,如 ARM Cortex-M/R/A, MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的 MCU 和 Wi-Fi 芯片。

1.3、发展历史

诞生于2006年,最初源于对当时小型RTOS现状的诸多不满,RT-Thread要做一个精致而优雅的操作系统
在这里插入图片描述

1.4、RTT OS概述

参考资料:https://www.rt-thread.org/document/site/tutorial/quick-start/introduction/introduction/
RT-Thread,全称是 Real Time-Thread,顾名思义,它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,在 RT-Thread 系统中,任务通过线程实现的。
RT-Thread 主要采用 C 语言编写,浅显易懂,方便移植。它把面向对象的设计方法应用到实时系统设计中,使得代码风格优雅、架构清晰、系统模块化并且可裁剪性非
常好。针对资源受限的微控制器(MCU)系统,可通过方便易用的工具,裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源的 NANO 版本(NANO 是 RT-Thread 官方于
2017 年 7 月份发布的一个极简版内核);而对于资源丰富的物联网设备,RT-Thread 又能使用在线的软件包管理工具,配合系统配置工具实现直观快速的模块化裁剪,
无缝地导入丰富的软件功能包,实现类似 Android 的图形界面及触摸滑动效果、智能语音交互效果等复杂功能。
相较于 Linux 操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此以外 RT-Thread 还具有实时性高、占用资源小等特点,非常适用于各种资源受限
的场合。虽然 32 位 MCU 是它的主要运行平台,实际上很多带有 MMU、基于 ARM9、ARM11 甚至 Cortex-A 系列级别 CPU 的应用处理器在特定应用场合也适合使用
RT-Thread。

1.5、RT-Thread 架构

近年来,物联网(Internet Of Things,IoT)概念广为普及,物联网市场发展迅猛,嵌入式设备的联网已是大势所趋。终端联网使得软件复杂性大幅增加,传统的 RTOS 内核
已经越来越难满足市场的需求,在这种情况下,物联网操作系统(IoT OS)的概念应运而生。物联网操作系统是指以操作系统内核(可以是 RTOS、Linux 等)为基础,包括如文
件系统、图形库等较为完整的中间件组件,具备低功耗、安全、通信协议支持和云端连接能力的软件平台,RT-Thread 就是一个 IoT OS。
RT-Thread 与其他很多 RTOS 如 FreeRTOS、uC/OS 的主要区别之一是,它不仅仅是一个实时内核,还具备丰富的中间层组件,如下图所示
在这里插入图片描述

二、RT-Thread移植

2.1、分类

2.1.1、标准版本

如上为标准版本

2.1.2、Nano版本

RT-Thread Nano 是一个极简版的硬实时内核,它是由 C 语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的 RTOS。其内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性。适用于家电、消费电子、医疗设备、工控等领域大量使用的 32 位 ARM 入门级 MCU 的场合。
下图是 RT-Thread Nano 的软件框图,包含支持的 CPU 架构与内核源码,还有可拆卸的 FinSH 组件:
在这里插入图片描述

功能:线程管理、线程间同步与通信、时钟管理、中断管理、内存管理。
Nano 的特点:https://docs.rt-thread.org/#/rt-thread-version/rt-thread-nano/an0038-nano-introduction?id=nano-%e7%9a%84%e7%89%b9%e7%82%b9
☐ 下载简单
☐ 代码简单
☐ 移植简单
☐ 使用简单
☐ 资源占用小
☐ 开源免费

2.1.3、Smart版本

RT-Thread Smart(简称 rt-smart)是基于 RT-Thread 操作系统衍生的新分支,面向带 MMU,中高端应用的芯片,例如 ARM Cortex-A 系列芯片,MIPS 芯片,带 MMU 的 RISC-V 芯片等。rt-smart 在 RT-Thread 操作系统的基础上启用独立、完整的进程方式,同时以混合微内核模式执行。
RT-Thread Smart 是基于 RT-Thread 操作系统上的混合操作系统,简称为 rt-smart,它把应用从内核中独立出来,形成独立的用户态应用程序,并具备独立的地址空间(32 位系统上是 4G 的独立地址空间)
在这里插入图片描述

2.2、标准版RTT移植

下载安装RT-Thread_Studio,安装完成后注册并登录后方可创建RTT工程。

在这里插入图片描述
在这里插入图片描述

1、新建工程,打开 IDE,点击【文件】-【新建】-【RT-Thread 项目】

在这里插入图片描述

2、进入新建工程设置向导
在这里插入图片描述

3、工程创建完毕,连接硬件,可直接进行编译下载,如下所示:

在这里插入图片描述

4、通过修改 board.c 的 SystemClock_Config() 更改系统时钟

在这里插入图片描述

5、由于在创建工程向导中配置了控制台串口号及其引脚号,所以工程中已经实现了 uart 的驱动以及 rt_hw_console_output() ,默认可以进行打印。打开串口终端,可以发现在终端中执行了打印

在这里插入图片描述

6、添加 FinSH
双击 RT-Thread Settings 进入配置,打开组件,勾选 FinSH Shell,保存配置。此操作将把 F

对于MSP432微控制器的RT-Thread操作系统移植,您可以按照以下步骤进行操作: 1. 准备工作: - 下载RT-Thread源代码:从RT-Thread官方网站下载最新版本的源代码。 - 安装MSP432开发环境:确保您已经安装了MSP432的开发环境,包括MSP432 LaunchPad开发板和相关软件。 2. 创建MSP432的板级支持包(BSP): -RT-Thread的bsp文件夹下创建一个新的目录,命名为msp432。 - 在msp432目录下创建一个board.c文件,实现与MSP432开发板相关的初始化函数,如时钟配置、中断配置等。 - 根据MSP432的数据手册和参考手册,编写板级支持包的代码,以适配MSP432的硬件。 3. 配置RT-Thread内核-RT-Thread的env目录下创建一个新的目录,命名为msp432。 - 在msp432目录下创建一个rtconfig.h文件,配置RT-Thread内核的相关选项,如内存大小、线程数量等。 - 根据MSP432的特性和需求,进行相应的内核配置。 4. 编译和烧录: - 进入RT-Thread的根目录,执行menuconfig命令进行配置,选择MSP432平台和相应的BSP。 - 执行scons命令,编译RT-Thread操作系统- 使用MSP432开发环境将生成的可执行文件烧录到MSP432开发板上。 5. 应用程序开发-RT-Thread的applications目录下编写应用程序代码,实现您的功能。 - 在bsp/msp432目录下添加驱动代码或配置文件,以支持您的应用程序。 - 编译和烧录应用程序到MSP432开发板上。 这些是大致的步骤,具体的移植过程可能会因各种因素而有所不同。您可以参考RT-Thread官方文档和MSP432的相关资料,以获取更详细的移植指南。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值