KEIL MDK RTX 实时操作系统

Keil RTX 是免版税的确定性实时操作系统,适用于 ARM 和 Cortex-M 设备。使用该系统可以创建同时执行多个功能的程序,并有助于创建结构更好且维护更加轻松的应用程序。

产品的几大亮点

  • 带有源代码的免版税、确定性的 RTOS
  • 灵活的调度:循环、抢先和协作
  • 以低的中断延迟执行高速实时操作
  • 小的空间占用适用于资源受限的系统
  • 不限数量的任务,每个任务都具有 254 个优先级
  • 不限数量的邮箱、信号、互斥函数和计时器
  • 支持多线程和线程安全运算
  • MDK-ARM 中的内核识别调试支持
  • 使用 µVision 配置向导的基于对话框的设置

虽然不使用 RTOS 也能创建实时程序(通过在超级循环中执行一个或多个函数),但 Keil RTX 这样的 RTOS 可为您解决许多调度、维护和计时问题。有关 RTOS 和超级循环之间的更详细比较,请查看使用 RTOS 的优势。

 

 

 

特点

多任务

循环

是

抢先

是

协作

是

任务规格

定义的任务(最大)

不限

活动任务

250

定义的任务(最大)

不限

用户优先级

1 - 254

堆栈检查

是

上下文切换时间

< 300 cycles

中断锁定时间

-

计时器/信号

超时

是

间隔

是

用户计时器

不限

信号/事件

每个任务 16 个

任务间通信

事件(最大)

不限

信号/事件

每个任务 16 个

信号(最大)

不限

互斥量(最大)

不限

邮箱(最大)

不限

邮箱大小

不限(默认 20)

 

 

 

性能

任务规格

性能(周期)

中断延迟

不适用,见附注

初始化系统,启动任务

1,147

创建任务(无任务切换)

403

创建任务(任务切换)

461

删除任务

218

任务切换

192

设置事件

89

发送信号

72

发送消息

117

 

 

 

内存要求

任务规格

性能

代码大小

< 4.0 KBytes

内核的 RAM 空间

< 300 Bytes + 128 Bytes User Stack

任务的 RAM 空间

TaskStackSize + 52 字节

邮箱的 RAM 空间

MaxMessages*4 + 16 字节

信号的 RAM 空间

8 字节

互斥函数的 RAM 空间

12 字节

用户计时器的 RAM 空间

8 字节

硬件要求

SysTick 计时器

 

 

内存要求
任务规格性能
代码大小< 4.0 KBytes
内核的 RAM 空间< 300 Bytes + 128 Bytes User Stack
任务的 RAM 空间TaskStackSize + 52 字节
邮箱的 RAM 空间MaxMessages*4 + 16 字节
信号的 RAM 空间8 字节
互斥函数的 RAM 空间12 字节
用户计时器的 RAM 空间8 字节
硬件要求SysTick 计时器

注意

  • 此测试的 RTX 内核是针对 10 个任务、10 个用户计时器并禁用堆栈检查而配置的。
  • RAM 要求取决于同时运行的任务数量。
  • 代码和 RAM 大小使用 MicoLib 运行时库进行计算。

优点

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

  • RTX 包含在 MDK-ARM 中 - 全功能、商业级 RTX(包括源代码)作为 Keil MDK-ARM 开发工具的一部分提供。这不是评估版。它可完全配置,没有任何限制。因此,如果您计划使用 MDK 进行开发,RTX 是免费的。
  • RTX 免版税 - RTX 是免版税提供的。获得了使用许可后,您可以装备使用 RTX 创建的产品,而无需支付其他费用或产生后续成本。
  • 市场领先的 RTOS - RTX 一直是嵌入式应用程序中使用的领先 RTOS 之一(2010 年 TechInsights 嵌入式市场调查报告)。您可以信心十足地在应用程序中使用 RTX。
  • 灵活的调度 - RTX 提供三种不同的内核调度选项,您可以使用最适合您应用程序的选项:
    • 抢先 - 每个任务都具有不同的优先级,只有在更高优先级的任务准备好运行后才会运行。此选项常用于交互式系统,在用户输入某些内容之前,设备可能处于待机或后台模式。
    • 循环 - 每个任务都将运行固定的 CPU 运行时时段(时间段)。数据记录器/系统显示器通常使用循环调度,所有传感器或数据源都会依次进行采样,不分优先级。
    • 协作 - 每个任务将一直运行,直到指示其将控制权传递给另一个任务或达到阻止性 OS 调用。可以在要求固定执行顺序的应用程序中查看协作多任务。
  • 确定性的行为 - 并非每个 RTOS 都具有确定性。RTX 提供完全确定性的行为,这意味着在预定义时间内(期限)处理事件和中断。您的应用程序可以依赖于一致且已知的进程计时。
  • 专为嵌入式系统而设计 - RTX 是专门为基于 ARM 和 Cortex-M MCU 的嵌入式系统而编写的。它并不是根据较大的操作系统或其他体系结构改写的。它运行速度快,占用的 MCU 资源极少,内存占用量仅为 5KB (ROM)。
  • 易于使用 - 学习周期短,产品开发速度快。µVision IDE/调试器完全支持 RTX,其中采用 RTX 任务识别工具以便于在您的应用程序中快速方便地配置和调试 RTX。
  • 源代码 - 在所有 MDK-ARM 版本中都包含 RTX 源代码。这对于需要源代码进行产品认证的情况会很有用。
  • 支持 - 提供了广泛的资源,包括示例、用户指南以及打印的快速入门指南。Keil 完全支持 RTX。

RTOS 优势

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

超级循环概念 的缺点

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

超级循环 概念的这些缺点可以通过使用实时操作系统 (RTOS) 来解决。

RTOS 概念

RTOS 将程序函数分成独立的任务,并为其执行实现按需调度。高级 RTOS(如 Keil RTX)提供以下重要优势:

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

RTX 函数

任务 1 和 2 是应用程序中的函数。RTX 提供内存池和邮箱管理以及任务之间使用的通信机制。

RTOX 资源

RTX 为直接访问所有 RTOS 资源提供了一种简单语法。


产品 > 工具 > 软件工具 > MDK-ARM > 中间件库 > RTX

 

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: MDK操作系统(Keil RTX)是一种基于ARM Cortex-M微控制器设计的实时操作系统,它提供了一系列的API,用于实现任务管理、同步和互斥机制、事件管理等功能,使嵌入式系统的开发更加简单和高效。本文将针对MDK操作系统RTX使用手册进行分析和解释。 RTX使用手册的主要内容包括了RTX的基础概述、任务管理、同步和互斥机制、事件管理、内存管理、定时器、堆栈以及钩子函数等。 首先是对RTX的基础概述,包括了RTX的特点,支持的处理器和开发工具,以及RTX操作系统的一些基本定义和数据结构。 接着是任务管理、同步和互斥机制、事件管理等方面的详细说明。任务管理是RTX最基本的功能之一,通过RTX提供的API,可以方便地创建和控制任务的执行。同步和互斥机制则是用于协调任务间的数据访问,避免数据竞争和冲突。事件管理则是用于任务间的通信和协作,能够实现任务间的异步通信和消息传递。 另外,RTX使用手册也包括了内存管理、定时器、堆栈和钩子函数等方面的讲解。这些功能可以帮助用户更好地管理系统资源、实现精准定时和任务优先级控制,以及对任务周期进行实时监控和调试等。 总之,MDK操作系统RTX使用手册是开发者在MDK环境下使用RTX的重要工具和参考,对于实现嵌入式系统的高效开发与控制,熟练掌握该使用手册中的内容,将极大地提高开发效率和系统质量。 ### 回答2: MDK操作系统RTX使用手册是一份关于Keil软件开发工具的操作指南,主要面向使用MDK软件开发环境进行嵌入式应用程序开发的工程师和开发人员。手册中涵盖了RTX实时操作系统的各种用法和实现方法,包括任务管理、信号量、消息队列、任务优先级等。使用此手册可以快速学习和使用RTX实时操作系统,提高开发效率和编程质量。 手册主要分为四部分:介绍、基础知识、API和附录。手册中的介绍部分介绍了RTX实时操作系统的基本概念、功能特点和开发环境。基础知识部分涵盖了RTOS基础知识、线程概念、线程与进程的区别等内容。API部分则详细讲解了RTX的各种API函数,如任务、信号量、事件标志、消息队列等。附录部分包括了常见的错误信息、常用的程序控制语句和调试命令等。 除了API部分,手册中还提供了很多RTX的示例程序,这些示例程序可以帮助读者更好地理解RTX的各种功能,并且可以作为读者开发自己的应用程序的参考。 总之,MDK操作系统RTX使用手册是一份非常重要的开发指南,能够帮助嵌入式应用程序开发人员快速掌握RTX实时操作系统的使用方法,并且提供丰富的示例代码和应用实例,帮助开发人员更好地完成各种嵌入式系统开发任务。 ### 回答3: MDK操作系统的RTX使用手册提供了详细的使用说明,以帮助开发者更轻松地使用操作系统。 首先,RTX提供了一个非常方便的任务管理器,可以让开发者轻松地管理任务。支持任务的优先级、任务的延时等参数的配置,可以使开发者更加容易地管理任务。 其次,RTX提供了非常丰富的时间管理功能,包括超时延时、软定时器等,可以大大减轻开发者的工作负担,并提高代码的鲁棒性。 此外,RTX还提供了一些常用的操作系统服务,例如:信号量、互斥量、消息队列、邮箱等。这些操作系统服务可以在多个任务之间共享数据,并保证数据的安全性。 最后,MDK操作系统的RTX使用手册还提供了很多的示例代码和工程文件,以帮助开发者更加快速地上手。 总的来说,MDK操作系统的RTX使用手册为开发者提供了一个非常完整而强大的操作系统框架,为开发高质量的嵌入式应用程序提供了非常好的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值