常用RTOS详细说明

简介: 常用RTOS详细说明

鸿蒙OS


HarmonyOS是一款面向全场景的开源分布式操作系统,是华为自主研发的操作系统。

鸿蒙OS实现模块化耦合,可应用在不同的设备上。


鸿蒙OS架构分为三层:


  • 第一层是内核
  • 第二层是基础服务
  • 第三层是程序框架 。


鸿蒙OS底层三部分组成:


  • 鸿蒙微内核
  • Linux内核
  • Lite OS组成


鸿蒙OS针对所有的用户,都提供了便利性:


消费者:鸿蒙OS能够将生活场景中的各类终端进行能力整合,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。


应用开发者:鸿蒙OS采用了多种分布式技术,使得应用程序的开发实现与不同终端设备的形态差异无关。这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。


设备开发者:鸿蒙OS采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。


源码地址



RT-Thread


RT-Thread,不仅仅是一个单一的实时操作系统内核,同时也是一个完整的应用系统,包含了实时、嵌入式系统相关的各个组件:TCP/IP协议栈,libc接口,图形用户界面等。


RT-Thread提供了较多的软件包,能够方便的解决开发过程中的问题,减少开发周期。


RT-Thread架构


99c69877896147c8acaf29e6dd85bc90.png

IO设备框架


RT-Thread的IO设备框架位于硬件和应用程序之间,共分成三层:


  • I/O设备管理层
  • 设备驱动框架层
  • 设备驱动层


该设备框架屏使设备驱动与应用层进行解耦,可以屏蔽掉不同芯片驱动对应用层所带来的干扰


e8cc4f92ad284341ac4e5a4670821ea3.png

源码地址



TencentOS


TencentOS tiny是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率。TencentOS tiny 提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU及模组芯片上。而且,基于RTOS内核提供了丰富的物联网组件,内部集成主流物联网协议栈,可助力物联网终端设备及业务快速接入腾讯云物联网平台。


TencentOS架构


913edf3d325c403b84e7e7ee9624d769.png


源码地址



FreeRTOS


一个FreeRTOS 系统主要由BSP驱动+内核+组件组成。内核包含多任务调度、内存管理、任务间通信的功能,组件包含网络协议、外设支持等。


FreeRTOS架构


5a923e2dcfd340ae97bfbc3c5544970b.png

FreeRTOS特点


FreeRTOS 的内核支持抢占式,合作式和时间片调度。

提供了一个用于低功耗的 Tickless 模式。

系统的组件在创建时可以选择动态或者静态的 RAM,比如任务、消息队列、信号量、软件定时器等等。

FreeRTOS-MPU 支持 Corex-M 系列中的 MPU 单元,如 STM32F429。

FreeRTOS 系统简单、小巧、易用,通常情况下内核占用 4k-9k 字节的空间。

高可移植性,代码主要 C 语言编写。

高效的软件定时器。

强大的跟踪执行功能。

堆栈溢出检测功能。

任务数量不限。

任务优先级不限

源码地址


https://www.freertos.org/


µC/OS


µC/OS是由Micrium公司研发的实时操作系统,以µC/OS-II或µC/OS-III为内核,附带有多种插件以实现不同的功能。这款操作系统主要面向于微处理器,如单片机、DSP等。它具有优秀的可移植性、功能可伸展性等特点,是抢占式的硬实时多任务操作系统


源码地址


https://www.silabs.com/developers/micrium


mbed-os


mbed os是一个ARM自己打造的开源嵌入式操作系统,专为物联网(iot)中的"物物"而设计。它包括开发基于 arm cortex-m 微控制器的连接产品所需的所有功能。


架构图

22d3cdc83e04458babf997fb7d9f0be5.png

源码地址



BabyOS


BabyOS适用于MCU项目,它是一套管理功能模块和外设驱动的框架。


对项目而言,缩短开发周期。项目开发时选择适用的功能模块及驱动。直接进入功能代码编写的阶段。


对工程师而言,减少重复工作。调试过的功能模块和驱动代码放入BabyOS中管理,以后项目可以直接使用,去掉重复调试的工作。


架构图

e4712f7494bd44e682e12a12f8af777e.png

源码地址



LuatOS


LuatOS-SoC是一款实时操作系统,用户编写Lua代码就可完成各种功能, 仅需极少的内存和Flash空间。


架构图

44df5f012d2b4a93a1f2bd8d3b2fff3f.png

源码地址



klite


它是一款入门级的小型抢占式操作系统内核,以简洁易用为设计目标,旨在降低学习嵌入式操作系统编程和入门的难度。


简洁的API风格,简洁的调用方式,简单的移植方法,可能是目前最简单易用的嵌入式操作系统内核.


源码地址


https://gitee.com/kerndev/klite


lmosem


lmosem是一个完全从第一行引导代码开始编写,基于ARM平台,支持多进程、多CPU、内存管理、文件与设备管理的全32位操作系统内核。


LMOSEM总体上分为三大层:HAL层、内核功能层、接口层


源码地址



FreeNOS


FreeNOS微内核操作系统


源码地址



原文链接 点击查看

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
API
FreeRTOS学习笔记—FreeRTOS移植
本文学习了如何移植FreeRTOS到自己的STM32工程。最后,根据正点原子提供的测试main函数,测试了移植效果。
517 0
FreeRTOS学习笔记—FreeRTOS移植
|
5月前
|
传感器 网络协议 物联网
嵌入式开发中的常用实时操作系统(RTOS)介绍
选择合适的RTOS是嵌入式开发中的关键步骤,不同的RTOS具有各自的优势和适用场景。开发者需要根据项目需求综合考虑硬件平台、实时性要求、开发资源和支持等因素,选择最合适的RTOS系统。例如,如果需要开源和灵活的解决方案,可以选择Zephyr或RT-Thread;如果需要高性能和商业支持,可以选择VxWorks或ThreadX。希望本文能帮助您更好地了解各类RTOS,并为您的嵌入式开发项目提供参考。
313 1
|
6月前
|
程序员 iOS开发 MacOS
LabVIEW什么是实时操作系统(RTOS)
LabVIEW什么是实时操作系统(RTOS)
208 1
|
6月前
|
Linux
xenomai与VxWorks实时性对比(Jitter对比)
本文对比了VxWorks和xenomai的实时性,聚焦于Jitter这一关键指标。在特定的硬件环境下(双核Cortex-A15,2GB内存),VxWorks和xenomai的读取时间戳耗时分别为0.249和0.163微秒。在时钟中断Jitter方面,VxWorks各项测试平均值约为4.066微秒,而xenomai在空载和加载情况下的平均值分别为0.516和0.768微秒。任务Jitter上,VxWorks和xenomai内核态任务的平均Jitter接近,但xenomai用户态任务Jitter较高。
259 0
xenomai与VxWorks实时性对比(Jitter对比)
|
存储 算法 调度
FreeRTOS多任务系统
FreeRTOS多任务系统
134 0
|
监控 Linux 项目管理
RISC-V SiFive U64内核——HPM硬件性能监视器
RISC-V SiFive U64内核——HPM硬件性能监视器
|
消息中间件 算法 安全
RTOS实时操作系统中RT-Thread、FreeRTOS和uCOS 选择哪一个学习比较好?
RTOS实时操作系统中RT-Thread、FreeRTOS和uCOS 选择哪一个学习比较好?
|
存储 消息中间件 安全
瑞萨RA2E1使用实时操作系统RTOS
瑞萨RA2E1使用实时操作系统RTOS
404 0
瑞萨RA2E1使用实时操作系统RTOS
|
物联网 Java 编译器
嵌入式操作系统——uCOS
嵌入式操作系统——uCOS
605 0
|
C语言
单片机中使用操作系统RTOS的好处
单片机中使用操作系统RTOS的好处
264 0
单片机中使用操作系统RTOS的好处