RTEMS  5.1
Modules | Macros | Typedefs | Variables

Modules

 Interrupt_deprecated_group
 

Macros

#define cpu_irq_enable()
 
#define cpu_irq_disable()
 
#define cpu_irq_is_enabled()   (__get_PRIMASK() == 0)
 

Typedefs

typedef uint32_t irqflags_t
 

Variables

volatile bool g_interrupt_enabled
 

Interrupt Service Routine definition

#define irq_initialize_vectors()
 Initialize interrupt vectors. More...
 
#define irq_register_handler(int_num, int_prio)
 Register handler for interrupt. More...
 

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_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
enum IRQn IRQn_Type

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:

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).