Subversion Repositories NaviCtrl

Rev

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