前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【STM32F407】第3章 RTX5操作系统介绍

【STM32F407】第3章 RTX5操作系统介绍

作者头像
Simon223
发布2021-03-11 11:48:15
7270
发布2021-03-11 11:48:15
举报
文章被收录于专栏:安富莱嵌入式技术分享

论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=93149

第3章 RTX5操作系统介绍

本章节介绍一下RTX5操作系统,让大家对RTX5有一个整体的了解,RTX5是开源免费的确定性实时操作系统,适用于 ARM 和 Cortex-M 设备。

3.1 RTX5系统特性

3.2 RTX5系统规格

3.3 RTX5系统性能

3.4 RTX5系统内存要求

3.5 RTX5系统优势

3.6 使用RTX5 VS 裸机方式的优势

3.8 总结

3.1 初学者重要提示

  1. 现在RTX4和RTX5属于CMSIS软件包的一部分,Apache2.0授权,几乎随意商用。Github开源地址:https://github.com/ARM-software/CMSIS_5
  2. RTX4/RTX5不仅提供了MDK的移植文件,也提供了IAR和GCC移植文件。

3.2 RTX5系统特色

  • 开源免费的确定性RTOS。
  • 支持时间片,抢占式和合作式调度。
  • 以低的中断延迟执行高速实时操作(对于M3/M4/M7内核可以实现零中断延迟)。
  • 小的空间占用适用于资源受限的系统。
  • 不限制数量的信号量,互斥信号量,消息邮箱和软定时器。
  • 支持多线程和线程安全操作。
  • 通过MDK的RTE开发环境可以一键添加。
  • 使用MDK基于对话框的配置向导,可以很方便的完成MDK的配置。
    • 零中断延迟

这里的零中断延迟是指ISR的中断相应时间和没有使用RTX5系统是一样的,也就是说用于Cortex-M3/M4/M7的RTX5内核库中没有关闭中断的操作,这点应该算是RTX5一个很大的优势,像Ucos-II,Ucos-III和FreeRTOS内核的很多地方关中断操作,关中断操作对实时性有哪些危害呢?比如此时某个任务正在调用系统API函数,而且此时中断正好关闭了,也就是进入到了临界区中,这个时候如果有一个紧急的中断事件被触发,这个中断就不能得到及时执行,必须等到中断开启才可以得到执行,如果关中断时间超过了紧急中断能够容忍的限度,危害是可想而知的。

    • 确定性

确定性是指在在定义的时间内处理事件和中断,RTX5 提供完全确定性的行为,这意味着在预定义时间内(期限)处理事件和中断,这个主要得益于RTX5的零中断延迟特性。(注:另外根据CMSIS RTOS RTX的说明,RTX系统的任务切换时间也是确定的)

    • 线程安全.

线程安全涉及到的问题较多,详情请看: http://www.keil.com/rl-arm/rl_threadsafe.asp

3.3 RTX5安全认证

TX5的汽车级,工业级,医疗和铁路安全认证已经通过:

  • ISO 26262 (ASIL D) 汽车级最高安全认证
  • IEC 61508 (SIL 3) 工业级认证
  • IEC 62304 (Class C) 医疗认证
  • EN 50128 (SIL 4) 运输/铁路安全认证

支持的内核:

  • Cortex-M0/M0+
  • Cortex-M3
  • Cortex-M4
  • Cortex-M7

除了RTX5,他们家的Event Recorder,CMSIS-Core,还有C Library也通过了安全认证。认证后的这些组件起了个新名字叫Functional Safety Run-Time System (Arm FuSa RTS),另外注意,这个安全认证是基于MDK的AC6测试通过的。

对应的安全认证证书

3.4 RTX5系统性能(实时性)

反映RTOS实时性的两个重要指标:一个是中断延迟时间,另一个是任务切换时间,其中中断延迟时间方面,使用CM内核的话,RTX系统可以实现零中断延时,也就是跟裸机情况是一样的。

3.5 RTX5系统内存要求

RTX5的典型需求是5KB的ROM空间和500字节的RAM。

3.6 RTX5系统优势

RTX5 实时操作系统提供许多高级功能,其他供应商的RTOS产品中并不总是提供这些功能。在选择RTOS时,应考虑以下几点:

  • RTX5开源免费

在RTX4和RTX5属于CMSIS软件包的一部分,Apache2.0授权,几乎随意商用。

  • 市场领先的 RTOS - RTX 一直是嵌入式应用程序中领先的RTOS之一(2013 – 2019年嵌入式市场调查报告)。您可以信心十足地在应用程序中使用 RTX。
  • 灵活的调度 - RTX 提供三种不同的调度方式,您可以使用最适合您的调度方式:

抢占式- 每个任务都具有不同的优先级,只有在更高优先级的任务准备好运行后才会运行。此选项方式于交互式系统,在用户输入某些内容之前,设备可能处于待机或后台模式。

时间片 - 每个任务都将运行固定的CPU运行时间段。数据记录器/系统显示器通常使用时间片调度,所有传感器或数据源都会依次进行采样,不分优先级。

合作式 - 每个任务将一直运行,直到指示其将控制权传递给另一个任务或遇到阻塞式API函数。可以在要求固定执行顺序的应用程序中使用这种调度方式。

  • 确定性的行为 - 并非每个 RTOS 都具有确定性。RTX 提供完全确定性的行为,这意味着在预定义时间内(期限)处理事件和中断。您的应用程序可以依赖于一致且已知的进程计时。
  • 专为嵌入式系统而设计 – RTX5 是专门为基于 ARM 和 Cortex-M MCU 的嵌入式系统而编写的。它并不是根据较大的操作系统或其他架构改写的。它运行速度快,占用的 MCU 资源极少,Flash占用量为 5KB (ROM)。
  • 易于使用 - 学习周期短,产品开发速度快。µVision IDE/调试器完全支持 RTX5,其中采用 RTX 任务识别工具以便于在您的应用程序中快速方便地配置和调试 RTX5。
  • 支持 - 提供了广泛的资源,包括示例、用户指南以及快速入门指南。Keil 完全支持 RTX。不仅MDK,当前RTX5对GCC和IAR也进行了支持。

3.7 使用RTX5 VS 裸机方式的优势

简单的嵌入式系统通常使用超级循环概念,其中应用程序按固定顺序执行每个函数。中断服务例程 (ISR) 用于时间关键程序部分。这种方法非常适合小系统,但对较为复杂的应用程序会有限制。

3.7.1 超级循环的缺点

  • 必须在中断(ISR)内处理时间关键运算:
    • ISR 函数变得非常复杂,并且需要很长执行时间。
    • ISR 嵌套可能产生不可预测的执行时间和堆栈需求。
  • 超级循环和ISR之间的数据交换是通过全局共享变量进行的:
    • 应用程序的程序员必须确保数据一致性。
  • 超级循环可以与系统计时器轻松同步,但:
    • 如果系统需要多种不同的周期时间,则会很难实现。
    • 超过超级循环周期的耗时函数需要做拆分。
    • 增加软件开销,应用程序难以理解。
  • 超级循环使得应用程序变得非常复杂,因此难以扩展:
    • 一个简单的更改就可能产生不可预测的副作用,对这种副作用进行分析非常耗时。
    • 超级循环 概念的这些缺点可以通过使用实时操作系统 (RTOS) 来解决。

3.7.2 RTOS的优势

RTOS将程序函数分成独立的任务,并为其提供合理的调度方式。RTX提供以下重要优势:

  • 任务调度 - 任务在需要时进行调用,从而确保了更好的程序执行和事件响应。
  • 多任务 - 任务调度会产生同时执行多个任务的效果。
  • 确定性的行为 - 在定义的时间内处理事件和中断。
  • 更短的 ISR - 实现更加确定的中断行为。
  • 任务间通信 - 管理多个任务之间的数据、内存和硬件资源共享。
  • 定义的堆栈使用 - 每个任务分配一个堆栈空间,从而实现可预测的内存使用。
  • 系统管理 - 可以专注于应用程序开发而不是资源管理。

3.8 总结

本章节就为大家讲解这么多,主要目的是想让大家对RTX5操作系统有一个整体的认识,从下一章我们就开始正式的进入RTX5操作系统的学习。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第3章 RTX5操作系统介绍
    • 3.1 初学者重要提示
      • 3.2 RTX5系统特色
        • 3.3 RTX5安全认证
          • 3.4 RTX5系统性能(实时性)
            • 3.5 RTX5系统内存要求
              • 3.6 RTX5系统优势
                • 3.7 使用RTX5 VS 裸机方式的优势
                  • 3.7.1 超级循环的缺点
                  • 3.7.2 RTOS的优势
                • 3.8 总结
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档