94 const isr_t newHandler,
95 isr_t*
const oldHandler)
105 if (oldHandler != (
isr_t *) 0)
110 #if FEATURE_MSCM_HAS_INTERRUPT_ROUTER
112 DEV_ASSERT((uint32_t)irqNumber < MSCM_IRSPRC_COUNT);
114 uint16_t cpu_enable = (uint16_t)(1UL << (
MSCM->CPXNUM));
115 if ((
MSCM->IRSPRC[irqNumber] & cpu_enable) == 0U)
117 DEV_ASSERT((
MSCM->IRSPRC[irqNumber] & (uint16_t)(MSCM_IRSPRC_RO_MASK)) == (uint16_t)MSCM_IRSPRC_RO(0));
123 __VECTOR_RAM[((int32_t)irqNumber) + 16] = (uint32_t)newHandler;
143 S32_NVIC->ISER[(uint32_t)(irqNumber) >> 5U] = (uint32_t)(1UL << ((uint32_t)(irqNumber) & (uint32_t)0x1FU));
145 #if FEATURE_MSCM_HAS_INTERRUPT_ROUTER
148 uint16_t cpu_enable = (uint16_t)(1UL << (
MSCM->CPXNUM));
149 MSCM->IRSPRC[irqNumber] |= cpu_enable;
170 S32_NVIC->ICER[((uint32_t)(irqNumber) >> 5U)] = (uint32_t)(1UL << ((uint32_t)(irqNumber) & (uint32_t)0x1FU));
172 #if FEATURE_MSCM_HAS_INTERRUPT_ROUTER
175 uint16_t cpu_enable = (uint16_t)(1UL << (
MSCM->CPXNUM));
176 MSCM->IRSPRC[irqNumber] &= (uint16_t)~(cpu_enable);
uint32_t __VECTOR_RAM[((uint32_t)(FEATURE_INTERRUPT_IRQ_MAX))+16U+1U]
Declaration of vector table. FEATURE_INTERRUPT_IRQ_MAX is the highest interrupt request number...
IRQn_Type
Defines the Interrupt Numbers definitions.
#define FEATURE_INTERRUPT_IRQ_MIN
void INT_SYS_DisableIRQ(IRQn_Type irqNumber)
Disables an interrupt for a given IRQ number.
void INT_SYS_DisableIRQGlobal(void)
Disable system interrupt.
#define FEATURE_INTERRUPT_IRQ_MAX
static int32_t g_interruptDisableCount
Counter to manage the nested callings of global disable/enable interrupt.
#define ENABLE_INTERRUPTS()
Enable FPU.
void INT_SYS_EnableIRQGlobal(void)
Enables system interrupt.
void INT_SYS_EnableIRQ(IRQn_Type irqNumber)
Enables an interrupt for a given IRQ number.
void(* isr_t)(void)
Interrupt handler type.
#define DISABLE_INTERRUPTS()
Disable interrupts.
void INT_SYS_InstallHandler(IRQn_Type irqNumber, const isr_t newHandler, isr_t *const oldHandler)
Installs an interrupt handler routine for a given IRQ number.