Keil Logo

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
    

Note

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

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

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.