Subversion Repositories NaviCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
196 killagreg 1
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
2
* File Name          : 91x_it.c
3
* Author             : MCD Application Team
4
* Version            : V2.1
5
* Date               : 12/22/2008
6
* Description        : Main Interrupt Service Routines.
7
*                      This file can be used to describe all the exceptions
8
*                      subroutines that may occur within user application.
9
*                      When an interrupt happens, the software will branch
10
*                      automatically to the corresponding routine.
11
*                      The following routines are all empty, user can write code
12
*                      for exceptions handlers and peripherals IRQ interrupts.
13
********************************************************************************
14
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
15
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
16
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
17
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
18
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
19
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
20
*******************************************************************************/
21
 
22
/* Includes ------------------------------------------------------------------*/
23
#include "91x_it.h"
24
#include "fat16.h"
25
#include "main.h"
26
#include "uart1.h"
377 ingob 27
#include "stdio.h"
196 killagreg 28
 
29
 
30
extern void USB_Istr(void);
31
 
32
/* Private typedef -----------------------------------------------------------*/
33
/* Private define ------------------------------------------------------------*/
34
/* Private macro -------------------------------------------------------------*/
35
/* Private variables ---------------------------------------------------------*/
36
/* Private function prototypes -----------------------------------------------*/
37
/* Private functions ---------------------------------------------------------*/
38
 
39
/*******************************************************************************
40
* Function Name  : Undefined_Handler
41
* Description    : This function Undefined instruction exception.
42
* Input          : None
43
* Output         : None
44
* Return         : None
45
*******************************************************************************/
377 ingob 46
void Undefined_Handler(void) __attribute__ ((naked));
196 killagreg 47
void Undefined_Handler(void)
48
{
377 ingob 49
        UART1_PutString("\n\rUndefined Instrution");
50
 
196 killagreg 51
        while(1)
52
        {
53
        // infinite loop
54
        }
55
 }
56
/*******************************************************************************
57
* Function Name  : SWI_Handler
58
* Description    : This function handles SW exception.
59
* Input          : None
60
* Output         : None
61
* Return         : None
62
*******************************************************************************/
63
void SWI_Handler(void)
64
{
65
}
66
/*******************************************************************************
67
* Function Name  : Prefetch_Handler
68
* Description    : This function handles preftetch abort exception.
69
* Input          : None
70
* Output         : None
71
* Return         : None
72
*******************************************************************************/
377 ingob 73
void Prefetch_Handler(void) __attribute__ ((naked));
196 killagreg 74
void Prefetch_Handler(void)
75
{
377 ingob 76
        register u_long *lnk_ptr;
77
 
78
        __asm__ __volatile__
79
        (
80
                "sub lr, lr, #0\n"
81
                "mov %0, lr" : "=r" (lnk_ptr)
82
        );
83
        u8 text[100];
84
 
85
        sprintf(text, "\n\rPrefetch Abort at %p 0x%08lX\n", lnk_ptr, *(lnk_ptr));
86
        UART1_PutString(text);
87
 
196 killagreg 88
        while(1)
89
        {
90
        // infinite loop
91
        }
92
}
93
/*******************************************************************************
94
* Function Name  : Abort_Handler
95
* Description    : This function handles data abort exception.
96
* Input          : None
97
* Output         : None
98
* Return         : None
99
*******************************************************************************/
377 ingob 100
void Abort_Handler(void) __attribute__ ((naked));
196 killagreg 101
void Abort_Handler(void)
102
{
377 ingob 103
        register u_long *lnk_ptr;
104
 
105
        __asm__ __volatile__
106
        (
107
                "sub lr, lr, #8\n"
108
                "mov %0, lr" : "=r" (lnk_ptr)
109
        );
110
        u8 text[100];
111
 
112
        sprintf(text, "\n\rData Abort at %p 0x%08lX\n", lnk_ptr, *(lnk_ptr));
113
        UART1_PutString(text);
114
 
196 killagreg 115
        while(1)
116
        {
117
        // infinite loop
118
        }
119
}
120
/*******************************************************************************
121
* Function Name  : FIQ_Handler
122
* Description    : This function handles FIQ exception.
123
* Input          : None
124
* Output         : None
125
* Return         : None
126
*******************************************************************************/
127
void FIQ_Handler(void)
128
{
129
}
130
/*******************************************************************************
131
* Function Name  : WDG_IRQHandler
132
* Description    : This function handles the WDG interrupt request
133
* Input          : None
134
* Output         : None
135
* Return         : None
136
*******************************************************************************/
137
void WDG_IRQHandler(void)
138
{
139
}
140
/*******************************************************************************
141
* Function Name  : SW_IRQHandler
142
* Description    : This function handles the SW interrupt request
143
* Input          : None
144
* Output         : None
145
* Return         : None
146
*******************************************************************************/
147
void SW_IRQHandler(void)
148
{
149
}
150
/*******************************************************************************
151
* Function Name  : ARMRX_IRQHandler
152
* Description    : This function handles the ARMRX interrupt request
153
* Input          : None
154
* Output         : None
155
* Return         : None
156
*******************************************************************************/
157
void ARMRX_IRQHandler(void)
158
{
159
}
160
/*******************************************************************************
161
* Function Name  : ARMTX_IRQHandler
162
* Description    : This function handles the ARMTX interrupt request
163
* Input          : None
164
* Output         : None
165
* Return         : None
166
*******************************************************************************/
167
void ARMTX_IRQHandler(void)
168
{
169
}
170
/*******************************************************************************
171
* Function Name  : TIM0_IRQHandler
172
* Description    : This function handles the TIM0 interrupt request
173
* Input          : None
174
* Output         : None
175
* Return         : None
176
*******************************************************************************/
177
void TIM0_IRQHandler(void)
178
{
179
}
180
/*******************************************************************************
181
* Function Name  : TIM1_IRQHandler
182
* Description    : This function handles the TIM1 interrupt request
183
* Input          : None
184
* Output         : None
185
* Return         : None
186
*******************************************************************************/
187
/*
188
void TIM1_IRQHandler(void)
189
{
190
}
191
*/
192
/*******************************************************************************
193
* Function Name  : TIM2_IRQHandler
194
* Description    : This function handles the TIM2 interrupt request
195
* Input          : None
196
* Output         : None
197
* Return         : None
198
*******************************************************************************/
199
/*
200
void TIM2_IRQHandler(void)
201
{
202
}
203
*/
204
/*******************************************************************************
205
* Function Name  : TIM3_IRQHandler
206
* Description    : This function handles the TIM3 interrupt request
207
* Input          : None
208
* Output         : None
209
* Return         : None
210
*******************************************************************************/
211
void TIM3_IRQHandler(void)
212
{
213
}
214
/*******************************************************************************
215
* Function Name  : USBHP_IRQHandler
216
* Description    : This function handles the USBHP interrupt request
217
* Input          : None
218
* Output         : None
219
* Return         : None
220
*******************************************************************************/
221
void USBHP_IRQHandler(void)
222
{
223
}
224
/*******************************************************************************
225
* Function Name  : USBLP_IRQHandler
226
* Description    : This function handles the USBLP interrupt request
227
* Input          : None
228
* Output         : None
229
* Return         : None
230
*******************************************************************************/
231
void USBLP_IRQHandler(void)
232
{
233
}
234
/*******************************************************************************
235
* Function Name  : SCU_IRQHandler
236
* Description    : This function handles the SCU interrupt request
237
* Input          : None
238
* Output         : None
239
* Return         : None
240
*******************************************************************************/
241
void SCU_IRQHandler(void)
242
{
243
}
244
/*******************************************************************************
245
* Function Name  : ENET_IRQHandler
246
* Description    : This function handles the DENET interrupt request
247
* Input          : None
248
* Output         : None
249
* Return         : None
250
*******************************************************************************/
251
void ENET_IRQHandler(void)
252
{
253
}
254
/*******************************************************************************
255
* Function Name  : DMA_IRQHandler
256
* Description    : This function handles the DMA interrupt request
257
* Input          : None
258
* Output         : None
259
* Return         : None
260
*******************************************************************************/
261
void DMA_IRQHandler(void)
262
{
263
}
264
/*******************************************************************************
265
* Function Name  : CAN_IRQHandler
266
* Description    : This function handles the CAN interrupt request
267
* Input          : None
268
* Output         : None
269
* Return         : None
270
*******************************************************************************/
271
void CAN_IRQHandler(void)
272
{
273
}
274
/*******************************************************************************
275
* Function Name  : MC_IRQHandler
276
* Description    : This function handles the MC interrupt request
277
* Input          : None
278
* Output         : None
279
* Return         : None
280
*******************************************************************************/
281
void MC_IRQHandler(void)
282
{
283
}
284
/*******************************************************************************
285
* Function Name  : ADC_IRQHandler
286
* Description    : This function handles the ADC interrupt request
287
* Input          : None
288
* Output         : None
289
* Return         : None
290
*******************************************************************************/
291
/*
292
void ADC_IRQHandler(void)
293
{
294
}
295
*/
296
/*******************************************************************************
297
* Function Name  : UART0_IRQHandler
298
* Description    : This function handles the UART0 interrupt request
299
* Input          : None
300
* Output         : None
301
* Return         : None
302
*******************************************************************************/
303
/*
304
void UART0_IRQHandler(void)
305
{
306
}
307
*/
308
/*******************************************************************************
309
* Function Name  : UART1_IRQHandler
310
* Description    : This function handles the UART1 interrupt request
311
* Input          : None
312
* Output         : None
313
* Return         : None
314
*******************************************************************************/
315
/*
316
void UART1_IRQHandler(void)
317
{
318
}
319
*/
320
/*******************************************************************************
321
* Function Name  : UART2_IRQHandler
322
* Description    : This function handles the UART2 interrupt request
323
* Input          : None
324
* Output         : None
325
* Return         : None
326
*******************************************************************************/
327
/*
328
void UART2_IRQHandler(void)
329
{
330
}
331
*/
332
/*******************************************************************************
333
* Function Name  : I2C0_IRQHandler
334
* Description    : This function handles the I2C0 interrupt request
335
* Input          : None
336
* Output         : None
337
* Return         : None
338
*******************************************************************************/
472 holgerb 339
/*
340
void I2C0_IRQHandler(void)
196 killagreg 341
{
472 holgerb 342
}
343
*/
196 killagreg 344
/*******************************************************************************
345
* Function Name  : I2C1_IRQHandler
346
* Description    : This function handles the I2C1 interrupt request
347
* Input          : None
348
* Output         : None
349
* Return         : None
350
*******************************************************************************/
351
/*
352
void I2C1_IRQHandler(void)
353
{
354
}
355
*/
356
/*******************************************************************************
357
* Function Name  : SSP0_IRQHandler
358
* Description    : This function handles the SSP0 interrupt request
359
* Input          : None
360
* Output         : None
361
* Return         : None
362
*******************************************************************************/
363
/*
364
void SSP0_IRQHandler(void)
365
{
366
}
367
*/
368
/*******************************************************************************
369
* Function Name  : SSP1_IRQHandler
370
* Description    : This function handles the SSP1 interrupt request
371
* Input          : None
372
* Output         : None
373
* Return         : None
374
*******************************************************************************/
375
void SSP1_IRQHandler(void)
376
{
377
}
378
/*******************************************************************************
379
* Function Name  : LVD_IRQHandler
380
* Description    : This function handles the LVD interrupt request
381
* Input          : None
382
* Output         : None
383
* Return         : None
384
*******************************************************************************/
385
void LVD_IRQHandler(void)
386
{
387
}
388
/*******************************************************************************
389
* Function Name  : RTC_IRQHandler
390
* Description    : This function handles the RTC interrupt request
391
* Input          : None
392
* Output         : None
393
* Return         : None
394
*******************************************************************************/
395
void RTC_IRQHandler(void)
396
{
397
}
398
/*******************************************************************************
399
* Function Name  : WIU_IRQHandler
400
* Description    : This function handles the WIU interrupt request
401
* Input          : None
402
* Output         : None
403
* Return         : None
404
*******************************************************************************/
405
void WIU_IRQHandler(void)
406
{
407
}
408
/*******************************************************************************
409
* Function Name  : EXTIT0_IRQHandler
410
* Description    : This function handles the EXTIT0 interrupt request
411
* Input          : None
412
* Output         : None
413
* Return         : None
414
*******************************************************************************/
415
void EXTIT0_IRQHandler(void)
416
{
417
}
418
/*******************************************************************************
419
* Function Name  : EXTIT1_IRQHandler
420
* Description    : This function handles the EXTIT1 interrupt request
421
* Input          : None
422
* Output         : None
423
* Return         : None
424
*******************************************************************************/
425
void EXTIT1_IRQHandler(void)
426
{
427
        IENABLE;
428
 
429
        if(WIU_GetITStatus(WIU_Line11) != RESET)
430
        {
369 holgerb 431
//              BeepTime = 100;
432
//              Fat16_Init(); // initialize sd-card file system.
196 killagreg 433
                WIU_ClearFlag(WIU_Line1);
434
                WIU_ClearITPendingBit(WIU_Line11);
435
        }
436
 
437
        IDISABLE;
438
}
439
/*******************************************************************************
440
* Function Name  : EXTIT2_IRQHandler
441
* Description    : This function handles the EXTIT2 interrupt request
442
* Input          : None
443
* Output         : None
444
* Return         : None
445
*******************************************************************************/
446
void EXTIT2_IRQHandler(void)
447
{
448
}
449
/*******************************************************************************
450
* Function Name  : EXTIT3_IRQHandler
451
* Description    : This function handles the EXTIT3 interrupt request
452
* Input          : None
453
* Output         : None
454
* Return         : None
455
*******************************************************************************/
456
/*
457
void EXTIT3_IRQHandler(void)
458
{
459
}
460
*/
461
/*******************************************************************************
462
* Function Name  : USBWU_IRQHandler
463
* Description    : This function handles the USBWU interrupt request
464
* Input          : None
465
* Output         : None
466
* Return         : None
467
*******************************************************************************/
468
void USBWU_IRQHandler(void)
469
{
470
}
471
/*******************************************************************************
472
* Function Name  : PFQBC_IRQHandler
473
* Description    : This function handles the PFQBC interrupt request
474
* Input          : None
475
* Output         : None
476
* Return         : None
477
*******************************************************************************/
478
void PFQBC_IRQHandler(void)
479
{
480
}
481
 
482
/*******************************************************************************
483
* Function Name  : Dummy_Handler
484
* Description    : This function is used for handling a case of spurious interrupt
485
* Input          : None
486
* Output         : None
487
* Return         : None
488
*******************************************************************************/
489
void DefaultVector_Handler(void)
490
{
491
    /* Write any value to VICs  */
492
    VIC0->VAR = 0xFF;
493
    VIC1->VAR = 0xFF;
494
}
495
 
496
/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/