IAR PowerPac RTOS User Guide

IAR PowerPac RTOS User Guide IAR PowerPac RTOS User Guide

ie.ksu.edu.tw
from ie.ksu.edu.tw More from this publisher
11.07.2015 Views

●●●●●●●●●●●Full interrupt support:Interrupts can call any function except those that require waiting for data,as well as create, delete or change the priority of a task.Interrupts can wake up or suspend tasks and directly communicate with tasksusing all available communication instances (mailboxes, semaphores, events).Very short interrupt disable-time => short interrupt latency time.Nested interrupts are permitted.IAR PowerPac RTOS has its own interrupt stack (usage optional).Frame application for an easy start.Debug version performs runtime checks, simplifying development.Very fast and efficient, yet small code.Minimum RAM usage.Core written in assembly language.Interfaces C and/or assembly.Initialization of microcontroller hardware as sources.12IAR PowerPac RTOSfor ARM CoresPPRTOS-2

Basic conceptsTasksIn this context, a task is a program running on the CPU core of a microcontroller. Without a multitasking kernel (anRTOS), only one task can be executed by the CPU at a time. This is called a single-task system. A real-time operatingsystem allows the execution of multiple tasks on a single CPU. All tasks execute as if they completely "owned" theentire CPU. The tasks are scheduled, meaning that the RTOS can activate and deactivate every task.Single-task systems (superloop)A superloop application is basically a program that runs in an endless loop, calling OS functions to execute theappropriate operations (task level). No real-time kernel is used, so interrupt service routines (ISRs) must be used forreal-time parts of the software or critical operations (interrupt level). This type of system is typically used in small,uncomplex systems or if real-time behavior is not critical.Task levelInterrupt levelSuperloopISRTimeISRISR (nested)Of course, there are fewer preemption and synchronization problems with a superloop application. Also, because noreal-time kernel is used, only one stack exists in ROM, meaning that ROM size is smaller and less RAM is occupiedfor stacks. However, superloops can become difficult to maintain if the program becomes too large. Because onesoftware component cannot be interrupted by another component (only by ISRs), the reaction time of one componentdepends on the execution time of all other components in the system. Real-time behavior is therefore poor.Multitasking systemsIn a multitasking system, there are different scheduling systems in which the calculation power of the CPU can bedistributed among tasks.PPRTOS-2 13

●●●●●●●●●●●Full interrupt support:Interrupts can call any function except those that require waiting for data,as well as create, delete or change the priority of a task.Interrupts can wake up or suspend tasks and directly communicate with tasksusing all available communication instances (mailboxes, semaphores, events).Very short interrupt disable-time => short interrupt latency time.Nested interrupts are permitted.<strong>IAR</strong> <strong>PowerPac</strong> <strong>RTOS</strong> has its own interrupt stack (usage optional).Frame application for an easy start.Debug version performs runtime checks, simplifying development.Very fast and efficient, yet small code.Minimum RAM usage.Core written in assembly language.Interfaces C and/or assembly.Initialization of microcontroller hardware as sources.12<strong>IAR</strong> <strong>PowerPac</strong> <strong>RTOS</strong>for ARM CoresPP<strong>RTOS</strong>-2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!