Keil RTX Real-Time Operating System
http://www.keil.com/rl-arm/kernel.asp
The Keil RTX is a royalty-free, deterministic Real-Time Operating System designed for ARM and Cortex-M devices. It allows you to create programs that simultaneously perform multiple functions and helps to create applications which are better structured and more easily maintained.
Features
Royalty-free, deterministic RTOS with source code
Flexible Scheduling: round-robin, pre-emptive, and collaborative
High-Speed real-time operation with low interrupt latency
Small footprint for resource constrained systems
Unlimited number of tasks each with 254 priority levels
Unlimited number of mailboxes, semaphores, mutex, and timers
Support for multithreading and thread-safe operation
Kernel aware debug support in MDK-ARM
Dialog-based setup using µVision Configuration Wizard
Benefits
While it is certainly possible to create real-time programs without an RTOS (by executing one or more functions in a Super-loop), there are numerous scheduling, maintenance, and timing issues that an RTOS like the Keil RTX solves for you. For a more detailed comparison between RTOS and Super-loop, take a look at the advantages of using an RTOS.
Note
RTX Source code is included in all MDK-ARM Editions.
.END
RTOS Advantages
http://www.keil.com/rl-arm/rtx_rtosadv.asp
Simple embedded systems typically use a Super-Loop concept where the application executes each function in a fixed order. Interrupt Service Routines (ISR) are used for time-critical program portions.
This approach is well suited for small systems but has limitations for more complex applications.
Disadvantages of the Super-Loop Concept
Time-critical operations must be processed within interrupts (ISR)
ISR functions become complex and require long execution times
ISR nesting may create unpredictable execution time and stack requirements
Data exchange between Super-Loop and ISR is via global shared variables
Application programmer must ensure data consistency
A Super-Loop can be easily synchronized with the System timer, but:
If a system requires several different cycle times, it is hard to implement
Split of time-consuming functions that exceed Super-Loop cycle
Creates software overhead and application program is hard to understand
Super-Loop applications become complex and therefore hard to extend
A simple change may have unpredictable side effects; such side effects are time consuming to analyze.
These disadvantages of the Super-Loop concept are solved by using a Real-Time Operating System (RTOS).
RTOS Concept
A RTOS separates the program functions into self-contained tasks and implements an on-demand scheduling of their execution.
An advanced RTOS, such as the Keil RTX, delivers serious benefits:
Task scheduling - tasks are called when needed ensuring better program flow and event response
Multitasking - task scheduling gives the illusion of executing a number of tasks simultaneously
Deterministic behaviour - events and interrupts are handled within a defined time
Shorter ISRs - enables more deterministic interrupt behaviour
Inter-task communication - manages the sharing of data, memory, and hardware resources among multiple tasks
Defined stack usage - each task is allocated a defined stack space, enabling predictable memory usage
System management - allows you to focus on application development rather than resource management (housekeeping)
.END
No comments:
Post a Comment