RTEMS  5.1
Data Structures | Macros | Functions

Interrupt support. More...

#include <rtems/score/armv4.h>
#include <bsp.h>
#include <bsp/irq.h>
#include <bsp/irq-generic.h>
#include <bsp/lpc32xx.h>
#include <bsp/linker-symbols.h>
#include <bsp/mmu.h>

Data Structures

union  lpc32xx_irq_fields
 

Macros

#define LPC32XX_MIC_STATUS_MASK   (~0x3U)
 
#define LPC32XX_IRQ_BIT_OPS_DEFINE
 
#define LPC32XX_IRQ_BIT_OPS_FOR_REG_DEFINE
 
#define LPC32XX_IRQ_OFFSET_ER   0U
 
#define LPC32XX_IRQ_OFFSET_RSR   4U
 
#define LPC32XX_IRQ_OFFSET_SR   8U
 
#define LPC32XX_IRQ_OFFSET_APR   12U
 
#define LPC32XX_IRQ_OFFSET_ATR   16U
 
#define LPC32XX_IRQ_OFFSET_ITR   20U
 

Functions

void lpc32xx_irq_set_priority (rtems_vector_number vector, unsigned priority)
 
unsigned lpc32xx_irq_get_priority (rtems_vector_number vector)
 
void lpc32xx_irq_set_activation_polarity (rtems_vector_number vector, lpc32xx_irq_activation_polarity activation_polarity)
 
lpc32xx_irq_activation_polarity lpc32xx_irq_get_activation_polarity (rtems_vector_number vector)
 
void lpc32xx_irq_set_activation_type (rtems_vector_number vector, lpc32xx_irq_activation_type activation_type)
 
lpc32xx_irq_activation_type lpc32xx_irq_get_activation_type (rtems_vector_number vector)
 
void bsp_interrupt_dispatch (void)
 
void bsp_interrupt_vector_enable (rtems_vector_number vector)
 Enables the interrupt vector with number vector. More...
 
void bsp_interrupt_vector_disable (rtems_vector_number vector)
 Disables the interrupt vector with number vector. More...
 
void lpc32xx_set_exception_handler (Arm_symbolic_exception_name exception, void(*handler)(void))
 
rtems_status_code bsp_interrupt_facility_initialize (void)
 BSP specific initialization. More...
 

Detailed Description

Interrupt support.

Macro Definition Documentation

◆ LPC32XX_IRQ_BIT_OPS_DEFINE

#define LPC32XX_IRQ_BIT_OPS_DEFINE
Value:
unsigned bit = index & 0x1fU; \
unsigned module = index >> 5

◆ LPC32XX_IRQ_BIT_OPS_FOR_REG_DEFINE

#define LPC32XX_IRQ_BIT_OPS_FOR_REG_DEFINE
Value:
LPC32XX_IRQ_BIT_OPS_DEFINE; \
unsigned module_offset = module << 14; \
volatile uint32_t *reg = (volatile uint32_t *) \
((volatile char *) &lpc32xx.mic + module_offset + register_offset)