RL-ARM User's Guide

FIFO Queue Buffer

The isr_ library function, when called from the interrupt handler, stores the request type and optional parameter to the ISR FIFO Queue buffer to be processed later, after the interrupt handler exits.

The task manager is activated immediately after the IRQ handler has finished its execution to process the requests stored to the FIFO Queue buffer. The size of this buffer needed, depends on the number of isr_ functions, that are called within the interrupt handler.

For example, if there is only one interrupt handler in your project and calls one isr_evt_set(), the FIFO Queue buffer size of 4 entries is sufficient. If there are more interrupts used in the project that use the isr_ communication with RTX kernel or, one interrupt handler that calls several isr_ library functions, the FIFO Queue buffer size needs to be increased. The interrupts, that do not use isr_ library functions are not counted here.

Default FIFO Queue buffer size is 16 entries. This should be enough for a typical RTX project.

  • OS_FIFOSZ specifies the number of entries that can be stored to the FIFO Queue buffer. Default size is 16 entries.
    #define OS_FIFOSZ    16
    

 

  • On FIFO Queue buffer overflow a runtime system error function is called.
  • See the Rtx_Config.c configuration file for the possible configuration settings.