VSF Documented
Typedefs | Functions | Variables
intc.c File Reference
#include "./intc.h"

Typedefs

typedef void(* __isr_t) (void)
 

Functions

VSF_CAL_ROOT void IRQ_Handler (void)
 
void intc_init (void)
 
__arm void intc_disable_irq (IRQn_Type IRQn)
 Disable Interrupt.
 

Variables

const __isr_t __VECTOR_TABLE[] __VECTOR_TABLE_ATTRIBUTE
 

Typedef Documentation

◆ __isr_t

typedef void(* __isr_t) (void)

Function Documentation

◆ IRQ_Handler()

VSF_CAL_ROOT void IRQ_Handler ( void  )

fetch the vector from INTC

< take NMI as no IRQ

calculate irq_idx

clear corresponding pending bit

< clear pending bit

< clear STIR bit

< disable same level interrupt

< enable preemption

run the ISR

< disable preemption

< enable same level interrupt

< try low priority ISR

◆ intc_init()

void intc_init ( void  )

set vector table

enable all interrupt source

disable all interrupt

clear all pending bit

Mask interrupts with lower or the same priority

◆ intc_disable_irq()

__arm void intc_disable_irq ( IRQn_Type  IRQn)

Disable Interrupt.

Disables a device specific interrupt in the NVIC interrupt controller.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.

Variable Documentation

◆ __VECTOR_TABLE_ATTRIBUTE

const __isr_t __VECTOR_TABLE [] __VECTOR_TABLE_ATTRIBUTE
extern