1 |
584 |
jeremybenn |
/* THIS SAMPLE CODE IS PROVIDED AS IS AND IS SUBJECT TO ALTERATIONS. FUJITSU */
|
2 |
|
|
/* MICROELECTRONICS ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR */
|
3 |
|
|
/* ELIGIBILITY FOR ANY PURPOSES. */
|
4 |
|
|
/* (C) Fujitsu Microelectronics Europe GmbH */
|
5 |
|
|
|
6 |
|
|
/*---------------------------------------------------------------------------
|
7 |
|
|
VECTORS.C
|
8 |
|
|
- Interrupt level (priority) setting
|
9 |
|
|
- Interrupt vector definition
|
10 |
|
|
-----------------------------------------------------------------------------*/
|
11 |
|
|
#include "mb96348hs.h"
|
12 |
|
|
#include "FreeRTOSConfig.h"
|
13 |
|
|
|
14 |
|
|
/*---------------------------------------------------------------------------
|
15 |
|
|
InitIrqLevels()
|
16 |
|
|
This function pre-sets all interrupt control registers. It can be used
|
17 |
|
|
to set all interrupt priorities in static applications. If this file
|
18 |
|
|
contains assignments to dedicated resources, verify that the
|
19 |
|
|
appropriate controller is used.
|
20 |
|
|
NOTE: value 7 disables the interrupt and value 0 sets highest priority.
|
21 |
|
|
-----------------------------------------------------------------------------*/
|
22 |
|
|
#define MIN_ICR 12
|
23 |
|
|
#define MAX_ICR 96
|
24 |
|
|
|
25 |
|
|
#define DEFAULT_ILM_MASK 7
|
26 |
|
|
|
27 |
|
|
void InitIrqLevels( void )
|
28 |
|
|
{
|
29 |
|
|
volatile int irq;
|
30 |
|
|
|
31 |
|
|
for( irq = MIN_ICR; irq <= MAX_ICR; irq++ )
|
32 |
|
|
{
|
33 |
|
|
ICR = ( irq << 8 ) | DEFAULT_ILM_MASK;
|
34 |
|
|
}
|
35 |
|
|
|
36 |
|
|
ICR = ( (51 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* Reload Timer 0 of MB9634x Series */
|
37 |
|
|
ICR = ( (12 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* Delayed interrupt of 16FX Family */
|
38 |
|
|
|
39 |
|
|
ICR = ( 79 << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* UART 0 Rx of MB9634x Series */
|
40 |
|
|
ICR = ( 80 << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* UART 0 Tx of MB9634x Series */
|
41 |
|
|
}
|
42 |
|
|
|
43 |
|
|
/*---------------------------------------------------------------------------
|
44 |
|
|
Prototypes
|
45 |
|
|
Add your own prototypes here. Each vector definition needs is proto-
|
46 |
|
|
type. Either do it here or include a header file containing them.
|
47 |
|
|
-----------------------------------------------------------------------------*/
|
48 |
|
|
__interrupt void DefaultIRQHandler( void );
|
49 |
|
|
|
50 |
|
|
extern __interrupt void prvRLT0_TICKISR( void );
|
51 |
|
|
|
52 |
|
|
extern __interrupt void UART0_RxISR( void );
|
53 |
|
|
extern __interrupt void UART0_TxISR( void );
|
54 |
|
|
extern __interrupt void UART0_TraceRxISR( void );
|
55 |
|
|
extern __interrupt void vPortYield( void );
|
56 |
|
|
extern __interrupt void vPortYieldDelayed( void );
|
57 |
|
|
|
58 |
|
|
#if ( INCLUDE_TraceListTasks == 1 )
|
59 |
|
|
extern __interrupt void UART1_RxISR( void );
|
60 |
|
|
#endif
|
61 |
|
|
|
62 |
|
|
/*---------------------------------------------------------------------------
|
63 |
|
|
Vector definiton for MB9634x
|
64 |
|
|
Use following statements to define vectors. All resource related
|
65 |
|
|
vectors are predefined. Remaining software interrupts can be added here
|
66 |
|
|
as well.
|
67 |
|
|
NOTE: If software interrupts 0 to 7 are defined here, this might
|
68 |
|
|
conflict with the reset vector in the start-up file.
|
69 |
|
|
-----------------------------------------------------------------------------*/
|
70 |
|
|
#pragma intvect DefaultIRQHandler 11 /* Non-maskable Interrupt */
|
71 |
|
|
|
72 |
|
|
#pragma intvect vPortYieldDelayed 12 /* Delayed Interrupt */
|
73 |
|
|
|
74 |
|
|
#pragma intvect DefaultIRQHandler 13 /* RC Timer */
|
75 |
|
|
#pragma intvect DefaultIRQHandler 14 /* Main Clock Timer */
|
76 |
|
|
#pragma intvect DefaultIRQHandler 15 /* Sub Clock Timer */
|
77 |
|
|
#pragma intvect DefaultIRQHandler 16 /* Reserved */
|
78 |
|
|
#pragma intvect DefaultIRQHandler 17 /* EXT0 */
|
79 |
|
|
#pragma intvect DefaultIRQHandler 18 /* EXT1 */
|
80 |
|
|
#pragma intvect DefaultIRQHandler 19 /* EXT2 */
|
81 |
|
|
#pragma intvect DefaultIRQHandler 20 /* EXT3 */
|
82 |
|
|
#pragma intvect DefaultIRQHandler 21 /* EXT4 */
|
83 |
|
|
#pragma intvect DefaultIRQHandler 22 /* EXT5 */
|
84 |
|
|
#pragma intvect DefaultIRQHandler 23 /* EXT6 */
|
85 |
|
|
#pragma intvect DefaultIRQHandler 24 /* EXT7 */
|
86 |
|
|
#pragma intvect DefaultIRQHandler 25 /* EXT8 */
|
87 |
|
|
#pragma intvect DefaultIRQHandler 26 /* EXT9 */
|
88 |
|
|
#pragma intvect DefaultIRQHandler 27 /* EXT10 */
|
89 |
|
|
#pragma intvect DefaultIRQHandler 28 /* EXT11 */
|
90 |
|
|
#pragma intvect DefaultIRQHandler 29 /* EXT12 */
|
91 |
|
|
#pragma intvect DefaultIRQHandler 30 /* EXT13 */
|
92 |
|
|
#pragma intvect DefaultIRQHandler 31 /* EXT14 */
|
93 |
|
|
#pragma intvect DefaultIRQHandler 32 /* EXT15 */
|
94 |
|
|
#pragma intvect DefaultIRQHandler 33 /* CAN0 */
|
95 |
|
|
#pragma intvect DefaultIRQHandler 34 /* CAN1 */
|
96 |
|
|
#pragma intvect DefaultIRQHandler 35 /* PPG0 */
|
97 |
|
|
#pragma intvect DefaultIRQHandler 36 /* PPG1 */
|
98 |
|
|
#pragma intvect DefaultIRQHandler 37 /* PPG2 */
|
99 |
|
|
#pragma intvect DefaultIRQHandler 38 /* PPG3 */
|
100 |
|
|
#pragma intvect DefaultIRQHandler 39 /* PPG4 */
|
101 |
|
|
#pragma intvect DefaultIRQHandler 40 /* PPG5 */
|
102 |
|
|
#pragma intvect DefaultIRQHandler 41 /* PPG6 */
|
103 |
|
|
#pragma intvect DefaultIRQHandler 42 /* PPG7 */
|
104 |
|
|
#pragma intvect DefaultIRQHandler 43 /* PPG8 */
|
105 |
|
|
#pragma intvect DefaultIRQHandler 44 /* PPG9 */
|
106 |
|
|
#pragma intvect DefaultIRQHandler 45 /* PPG10 */
|
107 |
|
|
#pragma intvect DefaultIRQHandler 46 /* PPG11 */
|
108 |
|
|
#pragma intvect DefaultIRQHandler 47 /* PPG12 */
|
109 |
|
|
#pragma intvect DefaultIRQHandler 48 /* PPG13 */
|
110 |
|
|
#pragma intvect DefaultIRQHandler 49 /* PPG14 */
|
111 |
|
|
#pragma intvect DefaultIRQHandler 50 /* PPG15 */
|
112 |
|
|
|
113 |
|
|
#pragma intvect prvRLT0_TICKISR 51 /* RLT0 */
|
114 |
|
|
|
115 |
|
|
#pragma intvect DefaultIRQHandler 52 /* RLT1 */
|
116 |
|
|
#pragma intvect DefaultIRQHandler 53 /* RLT2 */
|
117 |
|
|
#pragma intvect DefaultIRQHandler 54 /* RLT3 */
|
118 |
|
|
#pragma intvect DefaultIRQHandler 55 /* PPGRLT - RLT6 */
|
119 |
|
|
#pragma intvect DefaultIRQHandler 56 /* ICU0 */
|
120 |
|
|
#pragma intvect DefaultIRQHandler 57 /* ICU1 */
|
121 |
|
|
#pragma intvect DefaultIRQHandler 58 /* ICU2 */
|
122 |
|
|
#pragma intvect DefaultIRQHandler 59 /* ICU3 */
|
123 |
|
|
#pragma intvect DefaultIRQHandler 60 /* ICU4 */
|
124 |
|
|
#pragma intvect DefaultIRQHandler 61 /* ICU5 */
|
125 |
|
|
#pragma intvect DefaultIRQHandler 62 /* ICU6 */
|
126 |
|
|
#pragma intvect DefaultIRQHandler 63 /* ICU7 */
|
127 |
|
|
#pragma intvect DefaultIRQHandler 64 /* OCU0 */
|
128 |
|
|
#pragma intvect DefaultIRQHandler 65 /* OCU1 */
|
129 |
|
|
#pragma intvect DefaultIRQHandler 66 /* OCU2 */
|
130 |
|
|
#pragma intvect DefaultIRQHandler 67 /* OCU3 */
|
131 |
|
|
#pragma intvect DefaultIRQHandler 68 /* OCU4 */
|
132 |
|
|
#pragma intvect DefaultIRQHandler 69 /* OCU5 */
|
133 |
|
|
#pragma intvect DefaultIRQHandler 70 /* OCU6 */
|
134 |
|
|
#pragma intvect DefaultIRQHandler 71 /* OCU7 */
|
135 |
|
|
#pragma intvect DefaultIRQHandler 72 /* FRT0 */
|
136 |
|
|
#pragma intvect DefaultIRQHandler 73 /* FRT1 */
|
137 |
|
|
#pragma intvect DefaultIRQHandler 74 /* I2C0 */
|
138 |
|
|
#pragma intvect DefaultIRQHandler 75 /* I2C1 */
|
139 |
|
|
#pragma intvect DefaultIRQHandler 76 /* ADC */
|
140 |
|
|
#pragma intvect DefaultIRQHandler 77 /* ALARM0 */
|
141 |
|
|
#pragma intvect DefaultIRQHandler 78 /* ALARM1 */
|
142 |
|
|
|
143 |
|
|
#if ( INCLUDE_TraceListTasks == 1 )
|
144 |
|
|
#pragma intvect UART0_TraceRxISR 79 /* LIN-UART 0 RX */
|
145 |
|
|
#pragma intvect DefaultIRQHandler 80 /* LIN-UART 0 TX */
|
146 |
|
|
#else
|
147 |
|
|
#pragma intvect UART0_RxISR 79 /* LIN-UART 0 RX */
|
148 |
|
|
#pragma intvect UART0_TxISR 80 /* LIN-UART 0 TX */
|
149 |
|
|
#endif
|
150 |
|
|
|
151 |
|
|
#pragma intvect DefaultIRQHandler 81 /* LIN-UART 1 RX */
|
152 |
|
|
#pragma intvect DefaultIRQHandler 82 /* LIN-UART 1 TX */
|
153 |
|
|
#pragma intvect DefaultIRQHandler 83 /* LIN-UART 2 RX */
|
154 |
|
|
#pragma intvect DefaultIRQHandler 84 /* LIN-UART 2 TX */
|
155 |
|
|
#pragma intvect DefaultIRQHandler 85 /* LIN-UART 3 RX */
|
156 |
|
|
#pragma intvect DefaultIRQHandler 86 /* LIN-UART 3 TX */
|
157 |
|
|
#pragma intvect DefaultIRQHandler 87 /* MAIN FLASH IRQ */
|
158 |
|
|
#pragma intvect DefaultIRQHandler 88 /* SATELLITE FLASH IRQ (not on all devices) */
|
159 |
|
|
#pragma intvect DefaultIRQHandler 89 /* LIN-UART 7 RX (not on all devices) */
|
160 |
|
|
#pragma intvect DefaultIRQHandler 90 /* LIN-UART 7 TX (not on all devices) */
|
161 |
|
|
#pragma intvect DefaultIRQHandler 91 /* LIN-UART 8 RX (not on all devices) */
|
162 |
|
|
#pragma intvect DefaultIRQHandler 92 /* LIN-UART 8 TX (not on all devices) */
|
163 |
|
|
#pragma intvect DefaultIRQHandler 93 /* LIN-UART 9 RX (not on all devices) */
|
164 |
|
|
#pragma intvect DefaultIRQHandler 94 /* LIN-UART 9 TX (not on all devices) */
|
165 |
|
|
#pragma intvect DefaultIRQHandler 95 /* RTC (not on all devices) */
|
166 |
|
|
#pragma intvect DefaultIRQHandler 96 /* CAL (not on all devices) */
|
167 |
|
|
|
168 |
|
|
#pragma intvect vPortYield 122 /* INT #122 */
|
169 |
|
|
|
170 |
|
|
/*---------------------------------------------------------------------------
|
171 |
|
|
DefaultIRQHandler()
|
172 |
|
|
This function is a placeholder for all vector definitions. Either use
|
173 |
|
|
your own placeholder or add necessary code here.
|
174 |
|
|
-----------------------------------------------------------------------------*/
|
175 |
|
|
__interrupt void DefaultIRQHandler( void )
|
176 |
|
|
{
|
177 |
|
|
__DI(); /* disable interrupts */
|
178 |
|
|
while( 1 )
|
179 |
|
|
{
|
180 |
|
|
__wait_nop(); /* halt system */
|
181 |
|
|
}
|
182 |
|
|
}
|