无线电爱好网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

实时操作系统(RTOS)简介

2023-2-16 11:03| 发布者: 闪电| 查看: 1| 评论: 0

摘要: 什么是实时操作系统根据百度百科的解释:“实时操作系统是保证在一定时间限制内完成特定功能的操作系统”。实时操作系统英文全名为real-time operating system,简写为RTOS,是一种系统软件,用于管理微控制器(MCU) ...

什么是实时操作系统

根据百度百科的解释:“实时操作系统是保证在一定时间限制内完成特定功能的操作系统”。

实时操作系统英文全名为real-time operating system,简写为RTOS,是一种系统软件,用于管理微控制器(MCU)或微处理器的硬件资源,并为应用程序调用提供服务。RTOS的实时性关键在于其最小的中断延迟和线程切换延迟。因此,RTOS具有可预测性和确定性。

一个典型的商用RTOS示例:

根据操作系统所运行的处理器不同,一般可分为通用操作系统和实时操作系统(RTOS)。实时操作系统(RTOS)根据时间响应不同可分为硬实时操作系统和软实时操作系统:

  • 硬实时操作系统(Hard real time system) - 是指必须使任务在确定的时间内完成
  • 软实时操作系统(Soft real time system) - 是指能让绝大多数任务在确定时间内完成。若在规定时间内没有完成,程序可以继续运行,不至于发生重要影响。


RTOS主要特性

操作系统的核心组件称为内核。 微内核架构在具有可配置功能的实时操作系统中实现。 抽象层由内核提供,内核为应用软件提供六种主要类型的通用服务。 他们是:

任务管理

应用程序分成了小的、可调度的和顺序执行的程序单元,称为“线程”或“任务”。RTOS内核的任务管理包括任务创建、终止、更改优先级等。

任务调度

RTOS记录每个任务的状态并确定要执行的最高优先级任务。RTOS会将已在运行的任务挂起,执行高优先级的任务。

任务同步

信息需要从一个任务或线程安全地传输到另一个任务。任务同步使任务能够相互共享缓冲区、I/O 设备等资源。

内存管理

RTOS为应用程序分配内存。 RTOS 有两种类型的内存管理:堆栈管理和堆管理。

时间管理

为了调度安排在规定时间内执行的任务,需要一个周期性的中断。硬件定时器可以编程使得处理器产生中断。时间中断称为 System Tick。

中断处理

CPU 通过中断获得异步事件。中断是一种硬件机制,通过中断函数处理事件,如中断服务程序的创建和删除。

设备 I/O 管理

设备 I/O 管理有助于提供统一的框架(API – 应用程序程序员接口)。设备I/O管理还有助于访问专用的硬件设备驱动程序。


RTOS优势

使用RTOS会给项目设计带来很多的好处,主要体现在以下几个方面:

实时性。RTOS分配微控制器资源给线程或任务,可以给线程或任务配置优先级,RTOS的响应时间是恒定的。

RTOS优势描述
实时性RTOS线程资源分配,线程优先级
减少开销一般应用添加轮询多增加开销,RTOS开销恒定高效
简化开发非线程代码小易开发,设备功能增多代码化模块通信工作量增加,RTOS线程间通信服务
易于增加新功能RTOS保证高优先级线程的实时性能,维护添加功能容易,添加中间件扩展功能容易
简化应用可移植性应用程序通过应用程序编程接口(API)访问其服务功能,相同的API可以运行在任何处理器上
安全认证使用预先认证的RTOS,加快了系统认证过程

 

RTOS应用

RTOS广泛应用于工业设备、汽车电子,医疗保健设备、消费电子、电信设施、航空航天等领域。


RTOS的发展

RTOS的发展可以大致分为三个阶段:第一阶段 1980s ~ 2009年左右;第二阶段 2009年~2020年左右;第三阶段 2020年以后。

第一阶段,RTOS主要是以本机MCU资源管理为主,MCU资源管理的优化及可扩展性等。第二阶段,2009年中国提出了“感知中国”,推动了物联网的发展,RTOS应用主要体现在通信连接上。尤其是以Wi-Fi、蓝牙等为代表的无线技术迅速发展。众多的公司也推出了各种物联网平台,为物联网应用提供了强大的平台支撑,RTOS主要作用是在平台连接上。第三阶段,随着设备泛连接的发展,以及边缘计算的发,设备间的互联及互操作越来越多,需要一个安全可靠的RTOS来管理。设备互连将成为RTOS发展的一个重要方向。


RTOS发展的驱动力

RTOS的发展驱动力主要有以下几个方面:

- MCU性能不断地提升,资源不断地丰富,可实现的应用功能越来越多
- 设备智能化程度越来越高,MCU固件功能日益增多
- 物联网应用的发展,增加了通信连接管理的需求
- 中间件或组件丰富和扩展了RTOS的功能
- 人工智能(AI)技术不断地发展,RTOS将成为其关键的基础

快速发展的MCU产品性能越来越高,市场出现了几百MHz甚至上GHz的产品,其Flash容量可高达几M字节,这为RTOS运行提供了应用的基础条件。而当MCU固件容量越来越大时,其程序逻辑会越来越复杂,则可能会出现不确定的状态。这都需要RTOS来管理MCU的基本资源,RTOS会更加方便创建和管理任务。

物联网的发展,推动了通信连接管理、FOTA等的应用,RTOS成了连接管理的“底座”,不断地推动着RTOS的应用发展。RTOS也逐渐为互联网或物联网平台公司所重视,很多公司开始支持或发展自有的RTOS。RTOS在平台连接管理中,继续发挥着设备接入的管理角色。

中间件或组件提升了开发应用的效率,丰富和扩展了RTOS的功能。中间件或组件的维护、管理和更新都依赖于稳定的RTOS,中间件或组件的发展也促进了RTOS生态的发展。

随着MCU大规模地应用发展,对数据计算处理的需求日益增多,出现了面向计算的人工智能和机器学习,MCU使用经过训练的模型对数据进行计算处理,做出一些推断预测,提升了设备管理和自治的能力,RTOS也成为了其关键的基础。


Azure RTOS 简介

Azure RTOS 是一个嵌入式开发套件,其中包括小型但功能强大的操作系统,可为资源受限设备提供可靠、超高速的性能。它易于使用且经过市场验证,已部署在全球超过 100 亿的设备上。Azure RTOS 支持最常用的 32 位微控制器和嵌入式开发工具,因此你可以充分利用团队现有的技能。

Azure RTOS 是一个实时操作系统 (RTOS),适用于由微控制器 (MCU) 提供支持的物联网 (IoT) 和边缘设备。 Azure RTOS 旨在支持高度受限设备(电池供电,并且闪存容量不到 64 KB)。

Azure RTOS 经过预认证,符合各种安全标准。 其中包括 IEC 61508 SIL 4、IEC 62304 C 类和 ISO 26262 ASIL D 认证。

Azure RTOS 提供 EAL4+ 通用准则安全认证环境,包括通过 IPsec 实现的全 IP 层安全性以及通过 TLS 和 DTLS 实现的套接字层安全性。 我们的软件加密库已获得 FIPS 140-2 认证。 此外,我们还采用硬件加密功能、通过 ThreadX MODULES 实现的内存保护技术,以及 ARM TrustZone ARMv8-M 安全功能支持。

Azure RTOS 平台是运行时解决方案集合,组件包括 Azure RTOS ThreadX、Azure RTOS FileX、Azure RTOS GUIX、Azure RTOS NetX、Azure RTOS NetX Duo 和 Azure RTOS USBX等。


X-CUBE-AZRTOS

X-CUBE-AZRTOS是将Mircosoft Azure RTOS 和 STM32 MCU 结合在一起的最新篇章。STM32Cube 扩展包现在支持目前销售的几乎所有 STM32 MCU。可在GitHub 上获得,这些软件包已经过测试版,并且与 STM32CubeMX 完全兼容。因此,工程师可以在 STM32CubeMX 的图形用户界面中配置中间件堆栈,从而进一步将 Azure RTOS 集成到 STM32 生态系统中,进一步降低了集成和使用的门槛 。

这些软件包也是独一无二的,因为它们包含的应用程序示例比开发人员传统上通过此类解决方案获得的应用程序示例多得多。例如,新的解决方案提供了围绕 FileX、NetXDuo、ThreadX 和 USBX 的应用程序。因此,它是业内最全面的 Azure RTOS 中间件集成之一。此外,X-CUBE-AZRTOS也为开发人员提供了一种在几分钟内进行试验的方法。例如,X-CUBE-AZRTOS-H7 包含NUCLEO-H723ZG Nucleo-144 开发板、STM32H735G-DK或STM32H747I-DISCO探索套件以及STM32H743I-EVAL评估板的演示。



STM32 上的 Azure RTOS 体验如何?

Azure RTOS 是目前唯一一款为嵌入式系统提供用户友好许可条款的免费操作系统,并附带广泛的认证列表,包括安全性(IEC 61508 SIL 4、ISO 26262 ASIL D、IEC 62304 Medical Class C)和安全性( EAL4+,FIPS 140-2)。因此,工业、汽车或医疗等市场的用户将从这些标准中极大受益,并为他们的客户提供更大的保证。此外,ST团队也正在与 Microsoft ®合作,以确保 Azure RTOS 能够利用 STM32 MCU 中的关键 IP。例如,通过STM32的硬件加密内核,用户可以使用硬件优化,以提高安全性和效率。

另一件需要考虑的事情是,从概念验证到最终产品可能会令人生畏。因此,为了缩短上市时间,我们所有的 STM32 MCU 都会获得免费的评估和生产 Azure RTOS 许可证。ST与Microsoft紧密合作,共享错误追踪系统和报告,一起致力于为客户提供更可靠的代码,更丰富的功能。所有的源代码将通过Github等托管平台进行分发,开发人员可以依照他们喜欢的开发方式下载或管理代码。此外,ST 还将更新并继续发布新的 STM32Cube 嵌入式软件包和工具,以利用 Azure RTOS 中间件和堆栈。

Azure RTOS 将为 STM32Cube 带来什么?

Azure RTOS 的核心是 ThreadX RTOS,它以其强大的调度能力等而著称。在关于Preemption-Threshold Scheduling的白皮书中,该软件公司解释了传统上,RTOS 如何允许任何具有较高优先级的线程抢占,即接管当前正在运行的具有较低优先级的线程。ThreadX 提供了更多的粒度,使开发人员能够设置阈值以防止抢占并减少上下文切换,从而极大地优化性能。同样,它还提供事件链,当事件发生时启用特定操作。结果,等待事件的线程可以自动启动,从而方便了开发并减少了所需的资源。

STM32Cube + Azure RTOS 的优势:

- STM32Cube快速和易于开发,Azure RTOS快速的性能
- STM32Cube商业友好条款,Azure RTOS完全一致的解决方案
- STM32Cube更好的质量,Azure RTOS行业认证

STM32Cube + Azure RTOS用户的好处:
无障碍: 可用的源代码,免费,用户友好的许可条款
- 易于使用:大幅降低学习曲线。​ Azure RTOS 与 ST 工具集兼容, 提供了许多应用示例​,开发人员可以专注于他们的应用程序和差异化
- 可扩展:利用 Azure RTOS 中间件扩展现有和即将推出的 STM32 系列的生态系统

从哪里可以获得 Azure ® RTOS?

Azure RTOS在不同渠道上分发,以适应STM32 用户的不同的开发需求。

从ST网站上获得

从ST网站上下载软件包,软件包包含STM32驱动、Azure® RTOS MW & STM32CubeMX配置文件和应用程序。可以直接从应用程序开始,打开IDE,构建和调试代码。也可以用STM32CubeMX打开ioc文件,修改STM32外围设备和/或Azure® RTOS MW配置并生成代码。

通过STM32CubeMX 或 STM32CubeIDE获得

Azure® RTOS以STM32Cube软件扩展包的形式提供,并针对STM32开发工具进行了增强。STM32系列产品都有一个软件包(如X-CUBE-AZRTOS-XX,“XX”指支持的STM32系列)。每个软件包都包括所有支持的中间件和必需的资源(如:HAL、BSP、Utilities...)。Azure® RTOS MW 堆栈被描述为 CMSIS 包组件。Azure® RTOS MW 可通过 STM32CubeMX接口进行配置,并可生成初始化代码。

从GitHub上获得

ST GitHub 存储库上的 STM32 Azure® RTOS 是针对 STM32的社区用户,获得基于配置管理的交付 (Git),并通过问题功能实现工程师间的技术交流。GitHub 存储库中的软件包不包括 Azure® RTOS STM32CubeMX 的配置文件,因此 STM32CubeMX 中的 Azure® RTOS MW 配置和代码生成不可用。

路过

雷人

握手

鲜花

鸡蛋

QQ|关于本站|小黑屋|Archiver|手机版|无线电爱好网 ( 粤ICP备15040352号 ) 无线电爱好技术交流5 无线电爱好技术交流1无线电爱好技术交流9开关电源讨论群LED照明应用、电源无线电爱好技术交流4无线电爱好技术交流8无线电爱好技术交流10无线电爱好技术交流11

粤公网安备 44030702001224号

GMT+8, 2023-2-16 11:03 , Processed in 0.109201 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

返回顶部