Friday, 5 July 2013

Keil RTX Real-Time Operation System (Royalty-free)































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