【操作系统】RT-Thread 入门学习

一、嵌入式操作系统

1.1 软实时与硬实时

  • 强实时操作系统:严格限定在规定时间内完成任务,否则就会导致灾难性的发生,例如导弹拦截系统、汽车引擎系统等。
  • 弱实时操作系统:可以允许偶尔出现一定的时间偏差,但是随着时间的偏移,整个系统的正确性会随之下降,例如DVD播放器,允许其偶尔出现画面或声音的延迟。

1.2 主流嵌入式RTOS

主流RTOS主要有:uC/OS、FreeRTOS、RT-Thread等

1.2.1 uC/OS

  • 比较经典的μC/OS II(Micro-Controller Operating System Two)是一个可以基于ROM运行的、可裁剪的、抢占式、实时多任务内核,具有高度可移植性。
  • 其为美国的一款RTOS,发布于1992年。
  • 2001年,北航的邵贝贝教授第一次将有关uC/OS的书籍翻译成中文。
  • 目前uC/OS III为商用版本。
  • uC/OS官网

1.2.2 FreeRTOS

  • FreeRTOS诞生于2003年,其按照开源、免费的策略发布,可用于任何商业与非商业场合。
  • FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
  • FreeRTOS官网

1.2.3 RT-Thread

  • RTT为国内的一款嵌入式RTOS,诞生于2006年,其与FreeRTOS类似,以开源、免费的方式进行发布。
  • RT-Thread,全称是 Real Time-Thread,顾名思义,它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务。
  • RTT自创建之初的定位就不仅是一个RTOS的内核,而是包含网络、文件系统、GUI界面等组件的中间平台。
  • RTT官网

二、RTT的架构

  • 物联网操作系统是指以操作系统内核(可以是 RTOS、Linux 等)为基础,包括如文件系统、图形库等较为完整的中间件组件,具备低功耗、安全、通信协议支持和云端连接能力的软件平台,RT-Thread 就是一个 IoT OS
  • RT-Thread 与其他很多 RTOS 如 FreeRTOS、uC/OS 的主要区别之一是,它不仅仅是一个实时内核,还具备丰富的中间层组件
    【操作系统】RT-Thread 入门学习_第1张图片

2.1 内核层

  • RT-Thread 内核,是 RT-Thread 的核心部分,包括了内核系统中对象的实现,例如多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等;libcpu/BSP(芯片移植相关文件 / 板级支持包)与硬件密切相关,由外设驱动和 CPU 移植构成。

2.2 组件与服务层

  • 组件是基于 RT-Thread 内核之上的上层软件,例如虚拟文件系统、FinSH 命令行界面、网络框架、设备框架等。采用模块化设计,做到组件内部高内聚,组件之间低耦合

2.3 软件包

运行于 RT-Thread 物联网操作系统平台上,面向不同应用领域的通用软件组件,由描述信息、源代码或库文件组成。RT-Thread 提供了开放的软件包平台,这里存放了官方提供或开发者提供的软件包,该平台为开发者提供了众多可重用软件包的选择,这也是 RT-Thread 生态的重要组成部分。软件包生态对于一个操作系统的选择至关重要,因为这些软件包具有很强的可重用性,模块化程度很高,极大的方便应用开发者在最短时间内,打造出自己想要的系统。RT-Thread 已经支持的软件包数量已经达到 60+,如下举例:

  • 物联网相关的软件包:Paho MQTT、WebClient、mongoose、WebTerminal 等等。
  • 脚本语言相关的软件包:目前支持 JerryScript、MicroPython。
  • 多媒体相关的软件包:Openmv、mupdf。
  • 工具类软件包:CmBacktrace、EasyFlash、EasyLogger、SystemView。
  • 系统相关的软件包:RTGUI、Persimmon UI、lwext4、partition、SQLite 等等。
  • 外设库与驱动类软件包:RealTek RTL8710BN SDK。
  • 软件包网址

你可能感兴趣的:(【笔记】)