2 * @brief Vectored Interrupt Module Header File
7 * - VIM Type Definitions
8 * - VIM General Definitions
10 * which are relevant for Vectored Interrupt Controller.
13 /* (c) Texas Instruments 2009-2012, All rights reserved. */
20 /* USER CODE BEGIN (0) */
24 /* VIM Type Definitions */
26 /** @typedef t_isrFuncPTR
27 * @brief ISR Function Pointer Type Definition
29 * This type is used to access the ISR handler.
31 typedef void (*t_isrFuncPTR)();
33 /* USER CODE BEGIN (1) */
37 /* VIM General Configuration */
39 #define VIM_CHANNELS 96U
41 /* Interrupt Handlers */
43 extern void phantomInterrupt(void);
44 extern void esmHighInterrupt(void);
45 extern void phantomInterrupt(void);
46 //extern void vPortPreemptiveTick(void); // FreeRTOS 7.4.2
47 extern void vPreemptiveTick(void); // FreeRTOS 7.0.2
48 extern void linHighLevelInterrupt(void);
49 extern void mibspi1HighLevelInterrupt(void);
50 extern void adc1Group1Interrupt(void);
51 extern void can1HighLevelInterrupt(void);
52 extern void spi2HighLevelInterrupt(void);
53 extern void mibspi1LowLevelInterrupt(void);
54 extern void spi2LowLevelInterrupt(void);
55 extern void can2HighLevelInterrupt(void);
56 extern void mibspi3HighInterruptLevel(void);
57 extern void mibspi3LowLevelInterrupt(void);
58 extern void can3HighLevelInterrupt(void);
59 extern void spi4HighLevelInterrupt(void);
60 extern void adc2Group1Interrupt(void);
61 extern void spi4LowLevelInterrupt(void);
62 extern void sciHighLevelInterrupt(void);
63 extern void i2cInterrupt(void);
64 extern void EMACCore0RxIsr(void);
65 extern void EMACCore0TxIsr(void);
68 /* Vim Register Frame Definition */
70 * @brief Vim Register Frame Definition
72 * This type is used to access the Vim Registers.
74 /** @typedef vimBASE_t
75 * @brief VIM Register Frame Type Definition
77 * This type is used to access the VIM Registers.
79 typedef volatile struct vimBase
81 #if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1))
82 uint32_t IRQIVEC : 8U; /* 0x0000 */
83 uint32_t : 24U; /* 0x0000 */
84 uint32_t FIQIVEC : 8U; /* 0x0004 */
85 uint32_t : 24U; /* 0x0004 */
87 uint32_t : 24U; /* 0x0000 */
88 uint32_t IRQIVEC : 8U; /* 0x0000 */
89 uint32_t : 24U; /* 0x0004 */
90 uint32_t FIQIVEC : 8U; /* 0x0004 */
92 uint32_t : 32U; /* 0x0008 */
93 uint32_t : 32U; /* 0x000C */
94 uint32_t FIRQPR0; /* 0x0010 */
95 uint32_t FIRQPR1; /* 0x0014 */
96 uint32_t FIRQPR2; /* 0x0018 */
97 uint32_t FIRQPR3; /* 0x001C */
98 uint32_t INTREQ0; /* 0x0020 */
99 uint32_t INTREQ1; /* 0x0024 */
100 uint32_t INTREQ2; /* 0x0028 */
101 uint32_t INTREQ3; /* 0x002C */
102 uint32_t REQMASKSET0; /* 0x0030 */
103 uint32_t REQMASKSET1; /* 0x0034 */
104 uint32_t REQMASKSET2; /* 0x0038 */
105 uint32_t REQMASKSET3; /* 0x003C */
106 uint32_t REQMASKCLR0; /* 0x0040 */
107 uint32_t REQMASKCLR1; /* 0x0044 */
108 uint32_t REQMASKCLR2; /* 0x0048 */
109 uint32_t REQMASKCLR3; /* 0x004C */
110 uint32_t WAKEMASKSET0; /* 0x0050 */
111 uint32_t WAKEMASKSET1; /* 0x0054 */
112 uint32_t WAKEMASKSET2; /* 0x0058 */
113 uint32_t WAKEMASKSET3; /* 0x005C */
114 uint32_t WAKEMASKCLR0; /* 0x0060 */
115 uint32_t WAKEMASKCLR1; /* 0x0064 */
116 uint32_t WAKEMASKCLR2; /* 0x0068 */
117 uint32_t WAKEMASKCLR3; /* 0x006C */
118 uint32_t IRQVECREG; /* 0x0070 */
119 uint32_t FIQVECREQ; /* 0x0074 */
120 #if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1))
121 uint32_t CAPEVTSRC0 : 7U; /* 0x0078 */
122 uint32_t : 9U; /* 0x0078 */
123 uint32_t CAPEVTSRC1 : 7U; /* 0x0078 */
124 uint32_t : 9U; /* 0x0078 */
126 uint32_t : 9U; /* 0x0078 */
127 uint32_t CAPEVTSRC1 : 7U; /* 0x0078 */
128 uint32_t : 9U; /* 0x0078 */
129 uint32_t CAPEVTSRC0 : 7U; /* 0x0078 */
131 uint32_t : 32U; /* 0x007C */
132 uint8_t CHANMAP[64U]; /* 0x0080-0x017C */
135 #define vimREG ((vimBASE_t *)0xFFFFFE00U)
137 /* USER CODE BEGIN (3) */
140 #define VIM_PARFLG (*(unsigned int *)0xFFFFFDECU)
141 #define VIM_PARCTL (*(unsigned int *)0xFFFFFDF0U)
142 #define VIM_ADDERR (*(unsigned int *)0xFFFFFDF4U)
143 #define VIM_FBPARERR (*(unsigned int *)0xFFFFFDF8U)
145 #define VIMRAMPARLOC (*(unsigned int *)0xFFF82400U)
146 #define VIMRAMLOC (*(unsigned int *)0xFFF82000U)