RTX笔记0 - 概述

  Keil RTX是一款专为ARM和Cortex-M设备设计的免专利、确定性实时操作系统。具有以下特点:

  1. 开源:Keil RTX5(包括源代码)包含在Arm Keil MDK中。这个全功能,商用级RTOS是完全可配置的,没有限制。它是在Apache 2.0许可下发布的,完全在GitHub上开发。

  2. 安全:(1)Keil RTX5通过PSA认证,集成了平台安全架构API。(2)有一个安全认证的Keil RTX5变种可作为功能安全应用的Arm运行时系统(FuSa RTS)的一部分。

  3.灵活的调度:提供三种调度选项可供选择,(1)Pre-emptive 优先级调度,每个线程都有不同的优先级,并将一直运行,直到一个更高优先级的线程准备运行。(2)Round-Robin 循环调度,每个线程将运行一个固定的CPU运行时(时间片)。数据记录器/系统监视器通常采用循环调度,依次对所有传感器或数据源进行采样,而不进行优先级排序。(3)Co-operative 协作调度,每个线程都将运行,直到它被告知将控制权传递给另一个线程或调用阻塞的操作系统调用。协同多任务多见于需要固定执行顺序的应用程序中。

  4.Deterministic Behavior 确定性行为,并不是每个实时操作系统都是确定性的。RTX提供完全确定的行为,这意味着事件和中断在预定义的时间(截止日期)内处理。您的应用程序可以依赖一致和已知的进程计时。

  5.Designed for Embedded Systems,Keil RTX5是专门为运行在基于ARM Cortex-M的mcu上的应用程序编写的。它运行迅速,只需要最小的MCU资源,内存占用小至5KB (ROM)。

  6.Source Code,Keil RTX5是在GitHub上开源。源代码包含在所有MDK版本中。如果您的产品需要认证,请使用它。

  7.内存需求

Task SpecificationsPerformance
CODE Size < 4.0 KBytes
RAM Space for Kernel < 300 Bytes + 128 Bytes User Stack
RAM Space for a Task TaskStackSize + 52 Bytes
RAM Space for a Mailbox MaxMessages*4 + 16 Bytes
RAM Space for a Semaphore 8 Bytes
RAM Space for a Mutex 12 Bytes
RAM Space for a User Timer 8 Bytes
Hardware Requirements SysTick timer

  8.性能

Task SpecificationsPerformance (Cycles)
Interrupt Latency 中断延时 n/a, see note
Initialize system, start task 初始化系统,启动任务 1,147
Create task (no task switch) 创建任务(不进行任务切换) 403
Create task (with task switch) 创建任务(进行任务切换) 461
Delete Task 任务删除 218
Task Switch 任务切换 192
Set event 设置时间 89
Send semaphore 发送信号量 72
Send message 发送消息 117

 

Features
Multitasking
Round-Robin  
Preemptive  
Cooperative  
Task Specifications
Defined Tasks (max) Unlimited
Active Tasks 250
Defined Tasks (max) Unlimited
User Priorities 1 - 254
Stack Checking  
Context Switch Time < 300 cycles
Interrupt Lock-Out Time -
Timer/Signals
Timeouts  
Intervals  
User Timers Unlimited
Signals/Events 16 per task
Inter-Task Communication
Events (max) Unlimited
Signals/Events 16 per task
Semaphores (max) Unlimited
Mutexes (max) Unlimited
Mailboxes (max) Unlimited
Maillbox size Unlimited (Default 20)

Notes Note

  • Unlimited means that the RTX kernel does not impose any limitations on the number. However, the available system memory resources limit the number of items you can create.
  • The RTX library for Cortex™-M3/-M4/-M7 does not disable interrupts. Interrupt latency is the same as without the RTX kernel. Interrupt latency for Cortex™-M0/M1 is <20 cycles.

参考资料:https://www2.keil.com/mdk5/cmsis/rtx

posted @ 2021-09-30 23:35  Ivan0512  阅读(806)  评论(0编辑  收藏  举报