当前位置:   article > 正文

RT-Thread学习——简介_stm32 rtthred 是多线程么

stm32 rtthred 是多线程么

简介

RT-Thread是一个实时操作系统,移植到stm32单片机上。

常见的操作系统:

  • Windows、Linux、MAC
  • 安卓、IOS
  • 鸿蒙操作系统

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架构。

RTT OS概述

RT-Thread,Real Time-Thread,是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,在RT-Thread系统中,任务通过线程实现的。

RT-Thread主要采用C语言编写,浅显易懂,方便移植。
把面向对象的设计方法应用到实时操作系统设计中,使得代码风格优雅、架构清晰、系统模块化并且可裁剪。

针对资源受限的微控制器(MCU)系统,可通过方便易用的工具,裁剪出仅需要3KB Flash,1.28KB RAM内存资源的NANO版本。

而对于资源丰富的物联网设备,RT-Thread又能使用在线的软件包管理工具,配合系统配置工具实现直观快速的模块化裁剪,无缝地导入丰富的软件功能包,实现类似Andriod的图形界面及触摸滑动效果、智能语音交互等功能。

相较于Linux操作系统,RT-Thread体积小,成本低,功耗低,启动快速,实时性高、占用资源小,非常适用于各种资源受限的场合。

RT-Thread架构

近年来,物联网(Internet Of Things,IoT)概念广为普及,物联网市场发展迅猛,嵌入式设备的联网已是大势所趋。
终端物联网使得软件复杂性大幅增加,传统的RTOS内核很难满足需要。
物联网操作系统是指以操作系统内核(可以是RTOS、Linux等)为基础,包括文件系统、图形库等较为完整的中间件组件,具备低功耗、安全、通信协议支持和云端连接能力的软件平台,RT-Thread就是一个IoT OS。

RT-Thread与FreeRTOS、uC/OS的主要区别之一是,它不仅仅是一个实时内核,还具备丰富的中间层组件。

在这里插入图片描述

RT-Thread分类

标准版本如上图

Nano版本
RT-Thread Nano是一个极简版的硬实时内核,由C语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的RTOS。
其内核资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性。

适用于大量使用的32位ARM入门级MCU的场合。

在这里插入图片描述
包含支持的CPU架构与内核源码,还有可拆卸的FinSH组件。

特点
在这里插入图片描述
Smart版本
RT-Thread Smart是基于RT-Thread操作系统衍生的新分支,面向带MMU,中高端应用的芯片,例如ARM Cortex-A系列芯片,MIPS芯片等。

rt-smart在RT-Thread操作系统的基础上启用独立、完整的进程方式,同时以混合微内核模式执行。

RT-Thread Smart是基于RT-Thread操作系统上的混合操作系统,简称为rt-smart,它把应用从内核中独立出来,形成独立的用户态应用程序,并具备独立的地址空间(32位系统上是4G的独立地址空间)。类似于Linux。

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

标准版RTT移植

下载安装RT-Thread_Studio,安装完成后注册并登录后方可创建RTT工程。
在这里插入图片描述

int main(void)
{
	int count = 1;
	while(count++)
	{
		LOG_D("Hello RT-Thread!");
		rt_thread_mdelay(1000);
	}
	return RT_EOK;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

通过修改board.c的SystemClock_Config()更改系统时钟。
在这里插入图片描述
选择HSE,外接高速晶振比内部RC电路稳定。
在这里插入图片描述
添加FinSH
双击RT-Thread Settings进入配置,打开组件,勾选FinSH Shell,保存配置。此操作把FinSH组件的源码加入工程中。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/67392
推荐阅读
相关标签
  

闽ICP备14008679号