打印
[开发工具]

KEIL MDK RTX 实时操作系统

[复制链接]
2078|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
node|  楼主 | 2014-3-15 23:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 计时器


注意
此测试的 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 资源提供了一种简单语法。
沙发
node|  楼主 | 2014-3-17 08:37 | 只看该作者
是不是就是以前的5.0版本自带的那个FREE RTOS?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

204

主题

2075

帖子

4

粉丝