|
|||||||||||
Technical Support On-Line Manuals RL-ARM User's Guide (MDK v4) RL-RTX Overview Product Description Product Specification Technical Data Timing Specifications Advantages Your First RTX Application Theory of Operation Timer Tick Interrupt System Task Manager Task Management Idle Task System Resources Scheduling Options Pre-emptive Scheduling Round-Robin Scheduling Cooperative Multitasking Priority Inversion Stack Management User Timers Interrupt Functions Configuring RL-RTX Configuration Options Tasks Stack Size Stack Checking Run in Privileged Mode Hardware Timer Round-Robin Multitasking User Timers FIFO Queue Buffer Idle Task Error Function Create New RTX_Config.c Configuration Macros Alternate Tick Timer Low Power RTX Library Files Using RL-RTX Writing Programs Include Files Defining Tasks Multiple Instances External References Using a Mailbox SWI Functions SVC Functions Debugging System Info Task Info Event Viewer Usage Hints ARM7/ARM9 Version Cortex-M Version Create New RTX Application Function Reference Event Flag Management Routines Mailbox Management Routines Memory Allocation Routines Mutex Management Routines Semaphore Management Routines System Functions Task Management Routines Time Management Routines User Timer Management Routines RL-FlashFS RL-TCPnet RL-CAN RL-USB Example Programs Library Reference Appendix |
Idle TaskWhen no tasks are ready to run, the RTX kernel executes the idle task with the name os_idle_demon(). By default this task is an empty end-less loop that does nothing. It only waits until another task becomes ready to run. You may change the code of os_idle_demon() to put the CPU into a power-saving or idle mode. Most RTX_Config.c files define the macro _idle_() that contains the code to put the CPU into a power-saving mode. Example: /*--------------------------- os_idle_demon ---------------------------------*/ __task void os_idle_demon (void) { /* The idle demon is a system task. It is running when no other task is */ /* ready to run (idle situation). It must not terminate. Therefore it */ /* should contain at least an endless loop. */ for (;;) { _idle_(); /* enter low-power mode */ } } Note
| ||||||||||
|
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.