RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Modules

Modules

 Interrupt_deprecated_group
 

Interrupt Service Routine definition

typedef uint32_t irqflags_t
 
volatile bool g_interrupt_enabled
 
#define irq_initialize_vectors()
 Initialize interrupt vectors. More...
 
#define irq_register_handler(int_num, int_prio)
 Register handler for interrupt. More...
 
#define cpu_irq_enable()
 
#define cpu_irq_disable()
 
#define cpu_irq_is_enabled()   (__get_PRIMASK() == 0)
 
#define Enable_global_interrupt()   cpu_irq_enable()
 
#define Disable_global_interrupt()   cpu_irq_disable()
 
#define Is_global_interrupt_enabled()   cpu_irq_is_enabled()
 

Detailed Description

Macro Definition Documentation

◆ cpu_irq_disable

#define cpu_irq_disable ( )
Value:
do { \
__disable_irq(); \
__DMB(); \
/*g_interrupt_enabled = false; */ \
} while (0)

◆ cpu_irq_enable

#define cpu_irq_enable ( )
Value:
do { \
/*g_interrupt_enabled = true; */ \
__DMB(); \
__enable_irq(); \
} while (0)

◆ irq_initialize_vectors

#define irq_initialize_vectors ( )
Value:
do { \
} while (0)

Initialize interrupt vectors.

For NVIC the interrupt vectors are put in vector table. So nothing to do to initialize them, except defined the vector function with right name.

This must be called prior to irq_register_handler.

◆ irq_register_handler

#define irq_register_handler (   int_num,
  int_prio 
)
Value:
NVIC_ClearPendingIRQ((IRQn_Type)int_num); \
NVIC_SetPriority((IRQn_Type)int_num, int_prio); \
NVIC_EnableIRQ((IRQn_Type)int_num); \
__STATIC_INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn)
Clear Pending Interrupt.
Definition: core_cm7.h:1883

Register handler for interrupt.

For NVIC the interrupt vectors are put in vector table. So nothing to do to register them, except defined the vector function with right name.

Usage:

irq_register_handler(foo_irq_handler);
#define irq_initialize_vectors()
Initialize interrupt vectors.
Definition: compiler.h:321
#define irq_register_handler(int_num, int_prio)
Register handler for interrupt.
Definition: compiler.h:342
Note
The function func must be defined with the ISR macro.
The functions prototypes can be found in the device exception header files (exceptions.h).