ARM Development Tools
ULINK™ Debug Adapters
Development Tools by ARM
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).
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)
Tasks 1 & 2 are functions in the application.
RTX provides management of the Memory Pool and Mailbox as well as the communication mechanisms used between the tasks.
RTX provides a simple syntax for straightforward access to all of the RTOS resources.