On Time RTOS-32 Documentation
Welcome
RTTarget-32
RTKernel-32
RTKernel-32 Programming Manual
Introduction
Multitasking, Real-Time, and RTKernel-32
Module RTKernel-32
Alternate APIs for RTKernel-32
Supplemental Modules
RTKernel-32 Drivers
Demo Programs
Advanced Topics
RTKernel-32's Debug Version
How to Create Threads
Interrupt Handling
Avoid Polling
Preemptive or Cooperative Multitasking?
Waiting for Several Events
Avoid Large Message Types
Mutual Exclusion
Avoid Time Slicing
Cyclic Tasks (Timer)
Priorities
Starting Objects' Methods as Tasks
Performance and Interrupt Response Times
Multiprocessor Applications
OpenMP
Task Switches in Cooperative Scheduling
Writing Custom Kernel Drivers
Using the FPU in Interrupt Handlers
Typical Error Sources
Error and Information Messages
RTKernel-32 Reference Manual
RTFiles-32
RTIP-32
RTPEG-32
RTUSB-32
|
Priorities
Priorities have the sole purpose of guaranteeing good response times of time-critical tasks, even when other, less critical tasks run or could run.
Priorities should not be used to synchronize tasks. It is never certain that no other task runs while the task with the highest priority appears to be ready for running. If, for example, this task performs a heap manager call such as malloc or free, it could be blocked by the kernel if some other task has not yet completed its call.
Synchronization among tasks can only be achieved using explicit inter-task communication.
Advanced Topics
Cyclic Tasks (Timer)
Starting Objects' Methods as Tasks
|