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 |
|
|
VECTORS.C
|
7 |
|
|
- Interrupt level (priority) setting
|
8 |
|
|
- Interrupt vector definition
|
9 |
|
|
-----------------------------------------------------------------------------*/
|
10 |
|
|
|
11 |
|
|
#include "mb96356rs.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 |
|
|
|
23 |
|
|
#define MIN_ICR 11
|
24 |
|
|
#define MAX_ICR 93
|
25 |
|
|
|
26 |
|
|
#define DEFAULT_ILM_MASK 7
|
27 |
|
|
|
28 |
|
|
void InitIrqLevels(void)
|
29 |
|
|
{
|
30 |
|
|
volatile int irq;
|
31 |
|
|
|
32 |
|
|
for (irq = MIN_ICR; irq <= MAX_ICR; irq++)
|
33 |
|
|
{
|
34 |
|
|
ICR = (irq << 8) | DEFAULT_ILM_MASK;
|
35 |
|
|
}
|
36 |
|
|
|
37 |
|
|
ICR = ( (54 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* Reload Timer 0 */
|
38 |
|
|
ICR = ( (12 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* Delayed interrupt of 16FX Family */
|
39 |
|
|
ICR = ( (24 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* INT8 */
|
40 |
|
|
ICR = ( (25 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* INT9 */
|
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 |
|
|
extern __interrupt void vPortYield( void );
|
52 |
|
|
extern __interrupt void vPortYieldDelayed( void );
|
53 |
|
|
extern __interrupt void vExternalInt8Handler( void );
|
54 |
|
|
extern __interrupt void vExternalInt9Handler( void );
|
55 |
|
|
|
56 |
|
|
/*---------------------------------------------------------------------------
|
57 |
|
|
Vector definiton for MB9635x
|
58 |
|
|
Use following statements to define vectors. All resource related
|
59 |
|
|
vectors are predefined. Remaining software interrupts can be added here
|
60 |
|
|
as well.
|
61 |
|
|
NOTE: If software interrupts 0 to 7 are defined here, this might
|
62 |
|
|
conflict with the reset vector in the start-up file.
|
63 |
|
|
-----------------------------------------------------------------------------*/
|
64 |
|
|
|
65 |
|
|
#pragma intvect DefaultIRQHandler 11 /* Non-maskable Interrupt */
|
66 |
|
|
|
67 |
|
|
#pragma intvect vPortYieldDelayed 12 /* Delayed Interrupt */
|
68 |
|
|
|
69 |
|
|
#pragma intvect DefaultIRQHandler 13 /* RC Timer */
|
70 |
|
|
#pragma intvect DefaultIRQHandler 14 /* Main Clock Timer */
|
71 |
|
|
#pragma intvect DefaultIRQHandler 15 /* Sub Clock Timer */
|
72 |
|
|
#pragma intvect DefaultIRQHandler 16 /* Reserved */
|
73 |
|
|
#pragma intvect DefaultIRQHandler 17 /* EXT0 */
|
74 |
|
|
#pragma intvect DefaultIRQHandler 18 /* EXT1 */
|
75 |
|
|
#pragma intvect DefaultIRQHandler 19 /* EXT2 */
|
76 |
|
|
#pragma intvect DefaultIRQHandler 20 /* EXT3 */
|
77 |
|
|
#pragma intvect DefaultIRQHandler 21 /* EXT4 */
|
78 |
|
|
#pragma intvect DefaultIRQHandler 22 /* EXT5 */
|
79 |
|
|
#pragma intvect DefaultIRQHandler 23 /* EXT7 */
|
80 |
|
|
#pragma intvect vExternalInt8Handler 24 /* EXT8 */
|
81 |
|
|
#pragma intvect vExternalInt9Handler 25 /* EXT9 */
|
82 |
|
|
#pragma intvect DefaultIRQHandler 26 /* EXT10 */
|
83 |
|
|
#pragma intvect DefaultIRQHandler 27 /* EXT11 */
|
84 |
|
|
#pragma intvect DefaultIRQHandler 28 /* EXT12 */
|
85 |
|
|
#pragma intvect DefaultIRQHandler 29 /* EXT13 */
|
86 |
|
|
#pragma intvect DefaultIRQHandler 30 /* EXT14 */
|
87 |
|
|
#pragma intvect DefaultIRQHandler 31 /* EXT15 */
|
88 |
|
|
#pragma intvect DefaultIRQHandler 32 /* CAN1 */
|
89 |
|
|
#pragma intvect DefaultIRQHandler 33 /* CAN2 */
|
90 |
|
|
#pragma intvect DefaultIRQHandler 34 /* PPG0 */
|
91 |
|
|
#pragma intvect DefaultIRQHandler 35 /* PPG1 */
|
92 |
|
|
#pragma intvect DefaultIRQHandler 36 /* PPG2 */
|
93 |
|
|
#pragma intvect DefaultIRQHandler 37 /* PPG3 */
|
94 |
|
|
#pragma intvect DefaultIRQHandler 38 /* PPG4 */
|
95 |
|
|
#pragma intvect DefaultIRQHandler 39 /* PPG5 */
|
96 |
|
|
#pragma intvect DefaultIRQHandler 40 /* PPG6 */
|
97 |
|
|
#pragma intvect DefaultIRQHandler 41 /* PPG7 */
|
98 |
|
|
#pragma intvect DefaultIRQHandler 42 /* PPG8 */
|
99 |
|
|
#pragma intvect DefaultIRQHandler 43 /* PPG9 */
|
100 |
|
|
#pragma intvect DefaultIRQHandler 44 /* PPG10 */
|
101 |
|
|
#pragma intvect DefaultIRQHandler 45 /* PPG11 */
|
102 |
|
|
#pragma intvect DefaultIRQHandler 46 /* PPG12 */
|
103 |
|
|
#pragma intvect DefaultIRQHandler 47 /* PPG13 */
|
104 |
|
|
#pragma intvect DefaultIRQHandler 48 /* PPG14 */
|
105 |
|
|
#pragma intvect DefaultIRQHandler 49 /* PPG15 */
|
106 |
|
|
#pragma intvect DefaultIRQHandler 50 /* PPG16 */
|
107 |
|
|
#pragma intvect DefaultIRQHandler 51 /* PPG17 */
|
108 |
|
|
#pragma intvect DefaultIRQHandler 52 /* PPG18 */
|
109 |
|
|
#pragma intvect DefaultIRQHandler 53 /* PPG19 */
|
110 |
|
|
#pragma intvect prvRLT0_TICKISR 54 /* RLT0 */
|
111 |
|
|
#pragma intvect DefaultIRQHandler 55 /* RLT1 */
|
112 |
|
|
#pragma intvect DefaultIRQHandler 56 /* RLT2 */
|
113 |
|
|
#pragma intvect DefaultIRQHandler 57 /* RLT3 */
|
114 |
|
|
#pragma intvect DefaultIRQHandler 58 /* PPGRLT - RLT6 */
|
115 |
|
|
#pragma intvect DefaultIRQHandler 59 /* ICU0 */
|
116 |
|
|
#pragma intvect DefaultIRQHandler 60 /* ICU1 */
|
117 |
|
|
#pragma intvect DefaultIRQHandler 63 /* ICU4 */
|
118 |
|
|
#pragma intvect DefaultIRQHandler 64 /* ICU5 */
|
119 |
|
|
#pragma intvect DefaultIRQHandler 65 /* ICU6 */
|
120 |
|
|
#pragma intvect DefaultIRQHandler 66 /* ICU7 */
|
121 |
|
|
#pragma intvect DefaultIRQHandler 71 /* OCU4 */
|
122 |
|
|
#pragma intvect DefaultIRQHandler 72 /* OCU5 */
|
123 |
|
|
#pragma intvect DefaultIRQHandler 73 /* OCU6 */
|
124 |
|
|
#pragma intvect DefaultIRQHandler 74 /* OCU7 */
|
125 |
|
|
#pragma intvect DefaultIRQHandler 77 /* FRT0 */
|
126 |
|
|
#pragma intvect DefaultIRQHandler 78 /* FRT1 */
|
127 |
|
|
#pragma intvect DefaultIRQHandler 81 /* RTC0 */
|
128 |
|
|
#pragma intvect DefaultIRQHandler 82 /* CAL0 */
|
129 |
|
|
#pragma intvect DefaultIRQHandler 83 /* I2C0 */
|
130 |
|
|
#pragma intvect DefaultIRQHandler 84 /* ADC */
|
131 |
|
|
#pragma intvect DefaultIRQHandler 85 /* LIN-UART 2 RX */
|
132 |
|
|
#pragma intvect DefaultIRQHandler 86 /* LIN-UART 2 TX */
|
133 |
|
|
#pragma intvect DefaultIRQHandler 87 /* LIN-UART 3 RX */
|
134 |
|
|
#pragma intvect DefaultIRQHandler 88 /* LIN-UART 3 TX */
|
135 |
|
|
#pragma intvect DefaultIRQHandler 89 /* LIN-UART 7 RX */
|
136 |
|
|
#pragma intvect DefaultIRQHandler 90 /* LIN-UART 7 TX */
|
137 |
|
|
#pragma intvect DefaultIRQHandler 91 /* LIN-UART 8 RX */
|
138 |
|
|
#pragma intvect DefaultIRQHandler 92 /* LIN-UART 8 TX */
|
139 |
|
|
#pragma intvect DefaultIRQHandler 93 /* MAIN FLASH IRQ */
|
140 |
|
|
|
141 |
|
|
#pragma intvect vPortYield 122 /* INT #122 */
|
142 |
|
|
|
143 |
|
|
/*---------------------------------------------------------------------------
|
144 |
|
|
DefaultIRQHandler()
|
145 |
|
|
This function is a placeholder for all vector definitions. Either use
|
146 |
|
|
your own placeholder or add necessary code here.
|
147 |
|
|
-----------------------------------------------------------------------------*/
|
148 |
|
|
__interrupt void DefaultIRQHandler( void )
|
149 |
|
|
{
|
150 |
|
|
__DI(); /* disable interrupts */
|
151 |
|
|
while( 1 )
|
152 |
|
|
{
|
153 |
|
|
__wait_nop(); /* halt system */
|
154 |
|
|
}
|
155 |
|
|
}
|