RL-ARM User's Guide

Idle Task

When 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

  • On some devices, the IDLE blocks debugging via the JTAG interface. Therefore JTAG debuggers such as ULINK may not work when you are using CPU power-saving modes.
  • For using power-saving modes, some devices may require additional configuration (such as clock configuration settings).