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

ResourceAnything in the computer system with limited availability (for example memory, timers,computation time). Essentially, anything used by a task.Resource semaphoreA type of semaphore used for managing resources by ensuring that only one task has accessto a resource at a time.RTOSReal-time Operating System.SchedulerThe program section of an RTOS that selects the active task, based on which tasks areready to run, their relative priorities, and the scheduling system being used.SemaphoreA data structure used for synchronizing tasks.Software timerA data structure which calls a user-specified routine after a specified delay.StackAn area of memory with FIFO storage of parameters, automatic variables, return addresses,and other information that needs to be maintained across function calls. In multitaskingsystems, each task normally has its own stack.SuperloopA program that runs in an infinite loop and uses no real-time kernel. ISRs are used for realtimeparts of the software.TaskA program running on a processor. A multitasking system allows multiple tasks to executeindependently from one another.TickThe OS timer interrupt. Usually equals 1 ms.TimesliceThe time (number of ticks) for which a task will be executed until a round-robin taskchange may occur.144IAR PowerPac RTOSfor ARM CoresPPRTOS-2

IndexIndexAAdditional modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139CC startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Configuration defines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Configuration, of embOS . . . . . . . . . . . . . . . . . . . . . . . . . 111–112copyright notice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Counting Semaphores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Critical regions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16, 107–108DDebug version, of embOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123–125error codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124runtime errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2document conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Eedition, of this guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2embOSbuilding libraries of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137different builds of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22features of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11embOS features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11embOS profiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Error codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17, 77–81, 83–88Gguidelines, reading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3IInternal data-structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109Interrupt control macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Interrupt level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Interrupt service routines . . . . . . . . . . . . . . . . . . . . . . . . . . . 13, 99Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99–106enabling/disabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103interrupt handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101ISR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99KKeyboard manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139KEYMAN.C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139LLibraries, building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137Limitations, of embOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135MMailboxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17, 61–70basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61single-byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113high-resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115low-resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113Memory managementfixed block size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91Memory pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91–95Multitasking systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13cooperative multitasking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14preemptives multitasking. . . . . . . . . . . . . . . . . . . . . . . . . . . . 15NNesting interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Non-maskable interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106OOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 26OS_ClearEvents() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80OS_ClearMB(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69OS_CONFIG(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112OS_CREATECSEMA() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55OS_CreateCSema(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56OS_CREATEMB() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63OS_CREATERSEMA() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51OS_CreateTaskEx() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29OS_CREATETASK() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26OS_CreateTask() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27OS_CREATETASK_EX() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28OS_CREATETIMER(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38, 43OS_CreateTimer(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39, 44OS_DecRI() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103OS_DelayUntil() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30PPRTOS-2145

ResourceAnything in the computer system with limited availability (for example memory, timers,computation time). Essentially, anything used by a task.Resource semaphoreA type of semaphore used for managing resources by ensuring that only one task has accessto a resource at a time.<strong>RTOS</strong>Real-time Operating System.SchedulerThe program section of an <strong>RTOS</strong> that selects the active task, based on which tasks areready to run, their relative priorities, and the scheduling system being used.SemaphoreA data structure used for synchronizing tasks.Software timerA data structure which calls a user-specified routine after a specified delay.StackAn area of memory with FIFO storage of parameters, automatic variables, return addresses,and other information that needs to be maintained across function calls. In multitaskingsystems, each task normally has its own stack.SuperloopA program that runs in an infinite loop and uses no real-time kernel. ISRs are used for realtimeparts of the software.TaskA program running on a processor. A multitasking system allows multiple tasks to executeindependently from one another.TickThe OS timer interrupt. Usually equals 1 ms.TimesliceThe time (number of ticks) for which a task will be executed until a round-robin taskchange may occur.144<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!