33 #include "IfxCpu_reg.h"
42 #if defined(IFX_USE_SW_MANAGED_INT)
44 typedef void (*Ifx_Isr)(void);
46 static Ifx_Isr IfxCpu_Irq_swIntVector[256];
53 #if defined(IFX_USE_SW_MANAGED_INT)
63 #elif defined(__GNUC__)
66 #elif defined(__TASKING__)
70 #error Compiler unsupported
83 #elif defined(__GNUC__)
86 #elif defined(__TASKING__)
90 #error Compiler unsupported
98 void IfxCpu_Irq_installInterruptHandler(
void *isrFuncPointer,
uint32 serviceReqPrioNumber)
100 IfxCpu_Irq_swIntVector[serviceReqPrioNumber] = (Ifx_Isr)isrFuncPointer;
112 #define IFXCPU_IRQ_INT_ATTRIBUTE __interrupt__ void
113 #pragma section CODE ".intvec_tc0_255" far-absolute X
115 #elif defined(__GNUC__)
116 #define IFXCPU_IRQ_INT_ATTRIBUTE void
117 void __attribute__ ((interrupt_handler)) IfxCpu_Irq_intVecTable();
118 #pragma section ".intvec_tc0_255" x
120 #elif defined(__TASKING__)
121 #define IFXCPU_IRQ_INT_ATTRIBUTE void __interrupt(255) __vector_table(0)
123 #error Compiler unsupported
126 IFXCPU_IRQ_INT_ATTRIBUTE IfxCpu_Irq_intVecTable(
void)
130 IfxCpu_Irq_preIsrCall();
135 IfxCpu_Irq_swIntVector[icr.B.CCPN]();
137 IfxCpu_Irq_postIsrCall();
143 #pragma section CODE X
144 #elif defined(__GNUC__)
146 #elif defined(__TASKING__)
149 #error Compiler unsupported