OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [ARM7_STR75x_IAR/] [75x_vect.s] - Blame information for rev 654

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 577 jeremybenn
;******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
2
;* File Name          : 75x_vect.c
3
;* Author             : MCD Application Team
4
;* Date First Issued  : 03/10/2006
5
;* Description        : This file used to initialize the exception and IRQ
6
;*                      vectors, and to enter/return to/from exceptions handlers.
7
;*******************************************************************************
8
; History:
9
; 07/17/2006 : V1.0
10
; 03/10/2006 : V0.1
11
;*******************************************************************************
12
;* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
13
;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
14
;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
15
;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
16
;* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
17
;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
18
;*******************************************************************************
19
 
20
#include "FreeRTOSConfig.h"
21
#include "ISR_Support.h"
22
 
23
 
24
                PROGRAM ?RESET
25
                SECTION .intvec:CODE(2)
26
                CODE32
27
 
28
EIC_base_addr         EQU    0xFFFFF800 ; EIC base address
29
CICR_off_addr         EQU    0x04       ; Current Interrupt Channel Register
30
IVR_off_addr          EQU    0x18       ; Interrupt Vector Register
31
IPR_off_addr          EQU    0x40       ; Interrupt Pending Register
32
 
33
 
34
;*******************************************************************************
35
;              Import  the __program_start address from 75x_init.s
36
;*******************************************************************************
37
 
38
        IMPORT  __iar_program_start
39
 
40
 
41
 
42
;*******************************************************************************
43
;                      Import exception handlers
44
;*******************************************************************************
45
 
46
        IMPORT  Undefined_Handler
47
        IMPORT  SWI_Handler
48
        IMPORT  Prefetch_Handler
49
        IMPORT  Abort_Handler
50
        IMPORT  FIQ_Handler
51
 
52
;*******************************************************************************
53
;                   Import IRQ handlers from 75x_it.c
54
;*******************************************************************************
55
 
56
        IMPORT WAKUP_IRQHandler
57
        IMPORT TIM2_OC2_IRQHandler
58
        IMPORT TIM2_OC1_IRQHandler
59
        IMPORT TIM2_IC12_IRQHandler
60
        IMPORT TIM2_UP_IRQHandler
61
        IMPORT TIM1_OC2_IRQHandler
62
        IMPORT TIM1_OC1_IRQHandler
63
        IMPORT TIM1_IC12_IRQHandler
64
        IMPORT TIM1_UP_IRQHandler
65
        IMPORT TIM0_OC2_IRQHandler
66
        IMPORT TIM0_OC1_IRQHandler
67
        IMPORT TIM0_IC12_IRQHandler
68
        IMPORT TIM0_UP_IRQHandler
69
        IMPORT PWM_OC123_IRQHandler
70
        IMPORT PWM_EM_IRQHandler
71
        IMPORT PWM_UP_IRQHandler
72
        IMPORT I2C_IRQHandler
73
        IMPORT SSP1_IRQHandler
74
        IMPORT SSP0_IRQHandler
75
        IMPORT UART2_IRQHandler
76
        IMPORT UART1_IRQHandler
77
        IMPORT vSerialISR
78
        IMPORT CAN_IRQHandler
79
        IMPORT USB_LP_IRQHandler
80
        IMPORT USB_HP_IRQHandler
81
        IMPORT ADC_IRQHandler
82
        IMPORT DMA_IRQHandler
83
        IMPORT EXTIT_IRQHandler
84
        IMPORT MRCC_IRQHandler
85
        IMPORT FLASHSMI_IRQHandler
86
        IMPORT RTC_IRQHandler
87
        IMPORT TB_IRQHandler
88
                IMPORT vPortPreemptiveTick
89
                IMPORT vPortYieldProcessor
90
                IMPORT UART0_IRQHandler
91
 
92
;*******************************************************************************
93
;            Export Peripherals IRQ handlers table address
94
;*******************************************************************************
95
 
96
        EXPORT  WAKUP_Addr
97
 
98
;*******************************************************************************
99
;                        Exception vectors
100
;*******************************************************************************
101
 
102
 
103
        LDR     PC, Reset_Addr
104
        LDR     PC, Undefined_Addr
105
        LDR     PC, SWI_Addr
106
        LDR     PC, Prefetch_Addr
107
        LDR     PC, Abort_Addr
108
        NOP                             ; Reserved vector
109
        LDR     PC, IRQ_Addr
110
        LDR     PC, FIQ_Addr
111
 
112
;*******************************************************************************
113
;               Exception handlers address table
114
;*******************************************************************************
115
 
116
Reset_Addr      DCD     __iar_program_start
117
Undefined_Addr  DCD     UndefinedHandler
118
SWI_Addr        DCD     vPortYieldProcessor
119
Prefetch_Addr   DCD     PrefetchAbortHandler
120
Abort_Addr      DCD     DataAbortHandler
121
                DCD     0               ; Reserved vector
122
IRQ_Addr        DCD     IRQHandler
123
FIQ_Addr        DCD     FIQHandler
124
 
125
;*******************************************************************************
126
;              Peripherals IRQ handlers address table
127
;*******************************************************************************
128
 
129
WAKUP_Addr         DCD  WAKUPIRQHandler
130
TIM2_OC2_Addr      DCD  TIM2_OC2IRQHandler
131
TIM2_OC1_Addr      DCD  TIM2_OC1IRQHandler
132
TIM2_IC12_Addr     DCD  TIM2_IC12IRQHandler
133
TIM2_UP_Addr       DCD  TIM2_UPIRQHandler
134
TIM1_OC2_Addr      DCD  TIM1_OC2IRQHandler
135
TIM1_OC1_Addr      DCD  TIM1_OC1IRQHandler
136
TIM1_IC12_Addr     DCD  TIM1_IC12IRQHandler
137
TIM1_UP_Addr       DCD  TIM1_UPIRQHandler
138
TIM0_OC2_Addr      DCD  TIM0_OC2IRQHandler
139
TIM0_OC1_Addr      DCD  TIM0_OC1IRQHandler
140
TIM0_IC12_Addr     DCD  TIM0_IC12IRQHandler
141
TIM0_UP_Addr       DCD  TIM0_UPIRQHandler
142
PWM_OC123_Addr     DCD  PWM_OC123IRQHandler
143
PWM_EM_Addr        DCD  PWM_EMIRQHandler
144
PWM_UP_Addr        DCD  PWM_UPIRQHandler
145
I2C_Addr           DCD  I2CIRQHandler
146
SSP1_Addr          DCD  SSP1IRQHandler
147
SSP0_Addr          DCD  SSP0IRQHandler
148
UART2_Addr         DCD  UART2IRQHandler
149
UART1_Addr         DCD  UART1IRQHandler
150
UART0_Addr         DCD  vSerialISR
151
CAN_Addr           DCD  CANIRQHandler
152
USB_LP_Addr        DCD  USB_LPIRQHandler
153
USB_HP_Addr        DCD  USB_HPIRQHandler
154
ADC_Addr           DCD  ADCIRQHandler
155
DMA_Addr           DCD  DMAIRQHandler
156
EXTIT_Addr         DCD  EXTITIRQHandler
157
MRCC_Addr          DCD  MRCCIRQHandler
158
FLASHSMI_Addr      DCD  FLASHSMIIRQHandler
159
RTC_Addr           DCD  RTCIRQHandler
160
TB_Addr            DCD  vPortPreemptiveTick
161
 
162
;*******************************************************************************
163
;                         Exception Handlers
164
;*******************************************************************************
165
 
166
;*******************************************************************************
167
;* Macro Name     : SaveContext
168
;* Description    : This macro used to save the context before entering
169
;*                  an exception handler.
170
;* Input          : The range of registers to store.
171
;* Output         : none
172
;*******************************************************************************
173
SaveContext MACRO reg1,reg2
174
        STMFD  sp!,{reg1-reg2,lr} ; Save The workspace plus the current return
175
                              ; address lr_ mode into the stack.
176
        MRS    r1,spsr        ; Save the spsr_mode into r1.
177
        STMFD  sp!,{r1}       ; Save spsr.
178
        ENDM
179
 
180
;*******************************************************************************
181
;* Macro Name     : RestoreContext
182
;* Description    : This macro used to restore the context to return from
183
;*                  an exception handler and continue the program execution.
184
;* Input          : The range of registers to restore.
185
;* Output         : none
186
;*******************************************************************************
187
RestoreContext MACRO reg1,reg2
188
        LDMFD   sp!,{r1}        ; Restore the saved spsr_mode into r1.
189
        MSR     spsr_cxsf,r1    ; Restore spsr_mode.
190
        LDMFD   sp!,{reg1-reg2,pc}^; Return to the instruction following...
191
                                ; ...the exception interrupt.
192
        ENDM
193
 
194
;*******************************************************************************
195
;* Function Name  : UndefinedHandler
196
;* Description    : This function called when undefined instruction exception
197
;*                  is entered.
198
;* Input          : none
199
;* Output         : none
200
;*******************************************************************************
201
UndefinedHandler
202
        SaveContext r0,r12         ; Save the workspace plus the current
203
                                   ; return address lr_ und and spsr_und.
204
        ldr r0,=Undefined_Handler
205
        ldr lr,=Undefined_Handler_end
206
        bx r0                       ;Branch to Undefined_Handler
207
Undefined_Handler_end:
208
        RestoreContext r0,r12      ; Return to the instruction following...
209
                                    ; ...the undefined instruction.
210
 
211
;*******************************************************************************
212
;* Function Name  : SWIHandler
213
;* Description    : This function called when SWI instruction executed.
214
;* Input          : none
215
;* Output         : none
216
;*******************************************************************************
217
SWIHandler
218
        SaveContext r0,r12         ; Save the workspace plus the current
219
                                   ; return address lr_ svc and spsr_svc.
220
        ldr r0,= SWI_Handler
221
        ldr lr,= SWI_Handler_end
222
        bx r0                       ;Branch to  SWI_Handler
223
SWI_Handler_end:
224
        RestoreContext r0,r12     ; Return to the instruction following...
225
                                  ; ...the SWI instruction.
226
 
227
;*******************************************************************************
228
;* Function Name  : IRQHandler
229
;* Description    : This function called when IRQ exception is entered.
230
;* Input          : none
231
;* Output         : none
232
;*******************************************************************************
233
IRQHandler
234
        portSAVE_CONTEXT                                        ; Save the context of the current task.
235
 
236
        LDR    r0, =EIC_base_addr
237
        LDR    r1, =IVR_off_addr
238
        LDR    lr, =ReturnAddress                       ; Load the return address.      
239
        ADD    pc,r0,r1                                         ; Branch to the IRQ handler.
240
ReturnAddress
241
        LDR    r0, =EIC_base_addr
242
        LDR    r2, [r0, #CICR_off_addr]         ; Get the IRQ channel number
243
        MOV    r3,#1
244
        MOV    r3,r3,LSL r2
245
        STR    r3,[r0, #IPR_off_addr]           ; Clear the corresponding IPR bit.
246
 
247
        portRESTORE_CONTEXT                                     ; Restore the context of the selected task.
248
 
249
 
250
;*******************************************************************************
251
;* Function Name  : PrefetchAbortHandler
252
;* Description    : This function called when Prefetch Abort exception is entered.
253
;* Input          : none
254
;* Output         : none
255
;*******************************************************************************
256
PrefetchAbortHandler
257
        SUB    lr,lr,#4        ; Update the link register.
258
        SaveContext r0,r7      ; Save the workspace plus the current
259
                               ; return address lr_abt and spsr_abt.
260
        ldr r0,= Prefetch_Handler
261
        ldr lr,= Prefetch_Handler_end
262
        bx r0                       ;Branch to  Prefetch_Handler
263
Prefetch_Handler_end:
264
        RestoreContext r0,r7   ; Return to the instruction following that...
265
                               ; ...has generated the prefetch abort exception.
266
 
267
;*******************************************************************************
268
;* Function Name  : DataAbortHandler
269
;* Description    : This function is called when Data Abort exception is entered.
270
;* Input          : none
271
;* Output         : none
272
;*******************************************************************************
273
DataAbortHandler
274
        SUB    lr,lr,#8            ; Update the link register.
275
        SaveContext r0,r12         ; Save the workspace plus the current
276
                                   ; return address lr_ abt and spsr_abt.
277
        ldr r0,= Abort_Handler
278
        ldr lr,= Abort_Handler_end
279
        bx r0                       ;Branch to  Abort_Handler
280
Abort_Handler_end:
281
        RestoreContext r0,r12       ; Return to the instruction following that...
282
                                    ; ...has generated the data abort exception.
283
 
284
;*******************************************************************************
285
;* Function Name  : FIQHandler
286
;* Description    : This function is called when FIQ exception is entered.
287
;* Input          : none
288
;* Output         : none
289
;*******************************************************************************
290
FIQHandler
291
        SUB    lr,lr,#4            ; Update the link register.
292
        SaveContext r0,r7          ; Save the workspace plus the current
293
                                   ; return address lr_ fiq and spsr_fiq.
294
        ldr r0,= FIQ_Handler
295
        ldr lr,= FIQ_Handler_end
296
        bx r0                       ;Branch to  FIQ_Handler
297
FIQ_Handler_end:
298
        RestoreContext r0,r7        ; Restore the context and return to the...
299
                                    ; ...program execution.
300
 
301
;*******************************************************************************
302
;* Macro Name     : IRQ_to_SYS
303
;* Description    : This macro used to switch form IRQ mode to SYS mode.
304
;* Input          : none.
305
;* Output         : none
306
;*******************************************************************************
307
IRQ_to_SYS MACRO
308
        MSR    cpsr_c,#0x1F
309
        STMFD  sp!,{lr}
310
       ENDM
311
 
312
;*******************************************************************************
313
;* Macro Name     : SYS_to_IRQ
314
;* Description    : This macro used to switch from SYS mode to IRQ mode.
315
;* Input          : none.
316
;* Output         : none
317
;*******************************************************************************
318
SYS_to_IRQ MACRO
319
        LDMFD  sp!,{lr}
320
        MSR    cpsr_c,#0xD2
321
        MOV    pc,lr
322
       ENDM
323
 
324
;*******************************************************************************
325
;* Function Name  : WAKUPIRQHandler
326
;* Description    : This function used to switch to SYS mode before entering
327
;*                  the WAKUP_IRQHandler function located in 75x_it.c.
328
;*                  Then to return to IRQ mode after the WAKUP_IRQHandler
329
;*                  function termination.
330
;* Input          : none
331
;* Output         : none
332
;*******************************************************************************
333
WAKUPIRQHandler
334
        IRQ_to_SYS
335
        ldr r0,=WAKUP_IRQHandler
336
        ldr lr,=WAKUP_IRQHandler_end
337
        bx r0
338
WAKUP_IRQHandler_end:
339
        SYS_to_IRQ
340
 
341
;*******************************************************************************
342
;* Function Name  : TIM2_OC2IRQHandler
343
;* Description    : This function used to switch to SYS mode before entering
344
;*                  the TIM2_OC2_IRQHandler function located in 75x_it.c.
345
;*                  Then to return to IRQ mode after the TIM2_OC2_IRQHandler
346
;*                  function termination.
347
;* Input          : none
348
;* Output         : none
349
;*******************************************************************************
350
TIM2_OC2IRQHandler
351
        IRQ_to_SYS
352
        ldr r0,=TIM2_OC2_IRQHandler
353
        ldr lr,=TIM2_OC2_IRQHandler_end
354
        bx r0
355
TIM2_OC2_IRQHandler_end:
356
        SYS_to_IRQ
357
 
358
;*******************************************************************************
359
;* Function Name  : TIM2_OC1IRQHandler
360
;* Description    : This function used to switch to SYS mode before entering
361
;*                  the TIM2_OC1_IRQHandler function located in 75x_it.c.
362
;*                  Then to return to IRQ mode after the TIM2_OC1_IRQHandler
363
;*                  function termination.
364
;* Input          : none
365
;* Output         : none
366
;*******************************************************************************
367
TIM2_OC1IRQHandler
368
        IRQ_to_SYS
369
        ldr r0,=TIM2_OC1_IRQHandler
370
        ldr lr,=TIM2_OC1_IRQHandler_end
371
        bx r0
372
TIM2_OC1_IRQHandler_end:
373
        SYS_to_IRQ
374
 
375
;*******************************************************************************
376
;* Function Name  : TIM2_IC12IRQHandler
377
;* Description    : This function used to switch to SYS mode before entering
378
;*                  the TIM2_IC12_IRQHandler function located in 75x_it.c.
379
;*                  Then to return to IRQ mode after the TIM2_IC12_IRQHandler
380
;*                  function termination.
381
;* Input          : none
382
;* Output         : none
383
;*******************************************************************************
384
TIM2_IC12IRQHandler
385
        IRQ_to_SYS
386
        ldr r0,=TIM2_IC12_IRQHandler
387
        ldr lr,=TIM2_IC12_IRQHandler_end
388
        bx r0
389
TIM2_IC12_IRQHandler_end:
390
        SYS_to_IRQ
391
 
392
;*******************************************************************************
393
;* Function Name  : TIM2_UPIRQHandler
394
;* Description    : This function used to switch to SYS mode before entering
395
;*                  the TIM2_UP_IRQHandler function located in 75x_it.c.
396
;*                  Then to return to IRQ mode after the TIM2_UP_IRQHandler
397
;*                  function termination.
398
;* Input          : none
399
;* Output         : none
400
;*******************************************************************************
401
TIM2_UPIRQHandler
402
        IRQ_to_SYS
403
        ldr r0,=TIM2_UP_IRQHandler
404
        ldr lr,=TIM2_UP_IRQHandler_end
405
        bx r0
406
TIM2_UP_IRQHandler_end:
407
        SYS_to_IRQ
408
 
409
;*******************************************************************************
410
;* Function Name  : TIM1_OC2IRQHandler
411
;* Description    : This function used to switch to SYS mode before entering
412
;*                  the TIM1_OC2_IRQHandler function located in 75x_it.c.
413
;*                  Then to return to IRQ mode after the TIM1_OC2_IRQHandler
414
;*                  function termination.
415
;* Input          : none
416
;* Output         : none
417
;*******************************************************************************
418
TIM1_OC2IRQHandler
419
        IRQ_to_SYS
420
        ldr r0,=TIM1_OC2_IRQHandler
421
        ldr lr,=TIM1_OC2_IRQHandler_end
422
        bx r0
423
TIM1_OC2_IRQHandler_end:
424
        SYS_to_IRQ
425
 
426
;*******************************************************************************
427
;* Function Name  : TIM1_OC1IRQHandler
428
;* Description    : This function used to switch to SYS mode before entering
429
;*                  the TIM1_OC1_IRQHandler function located in 75x_it.c.
430
;*                  Then to return to IRQ mode after the TIM1_OC1_IRQHandler
431
;*                  function termination.
432
;* Input          : none
433
;* Output         : none
434
;*******************************************************************************
435
TIM1_OC1IRQHandler
436
        IRQ_to_SYS
437
        ldr r0,=TIM1_OC1_IRQHandler
438
        ldr lr,=TIM1_OC1_IRQHandler_end
439
        bx r0
440
TIM1_OC1_IRQHandler_end:
441
        SYS_to_IRQ
442
 
443
;*******************************************************************************
444
;* Function Name  : TIM1_IC12IRQHandler
445
;* Description    : This function used to switch to SYS mode before entering
446
;*                  the TIM1_IC12_IRQHandler function located in 75x_it.c.
447
;*                  Then to return to IRQ mode after the TIM1_IC12_IRQHandler
448
;*                  function termination.
449
;* Input          : none
450
;* Output         : none
451
;*******************************************************************************
452
TIM1_IC12IRQHandler
453
        IRQ_to_SYS
454
        ldr r0,=TIM1_IC12_IRQHandler
455
        ldr lr,=TIM1_IC12_IRQHandler_end
456
        bx r0
457
TIM1_IC12_IRQHandler_end:
458
        SYS_to_IRQ
459
 
460
;*******************************************************************************
461
;* Function Name  : TIM1_UPIRQHandler
462
;* Description    : This function used to switch to SYS mode before entering
463
;*                  the TIM1_UP_IRQHandler function located in 75x_it.c.
464
;*                  Then to return to IRQ mode after the TIM1_UP_IRQHandler
465
;*                  function termination.
466
;* Input          : none
467
;* Output         : none
468
;*******************************************************************************
469
TIM1_UPIRQHandler
470
        IRQ_to_SYS
471
        ldr r0,=TIM1_UP_IRQHandler
472
        ldr lr,=TIM1_UP_IRQHandler_end
473
        bx r0
474
TIM1_UP_IRQHandler_end:
475
        SYS_to_IRQ
476
 
477
;*******************************************************************************
478
;* Function Name  : TIM0_OC2IRQHandler
479
;* Description    : This function used to switch to SYS mode before entering
480
;*                  the TIM0_OC2_IRQHandler function located in 75x_it.c.
481
;*                  Then to return to IRQ mode after the TIM0_OC2_IRQHandler
482
;*                  function termination.
483
;* Input          : none
484
;* Output         : none
485
;*******************************************************************************
486
TIM0_OC2IRQHandler
487
        IRQ_to_SYS
488
        ldr r0,=TIM0_OC2_IRQHandler
489
        ldr lr,=TIM0_OC2_IRQHandler_end
490
        bx r0
491
TIM0_OC2_IRQHandler_end:
492
        SYS_to_IRQ
493
 
494
;*******************************************************************************
495
;* Function Name  : TIM0_OC1IRQHandler
496
;* Description    : This function used to switch to SYS mode before entering
497
;*                  the TIM0_OC1_IRQHandler function located in 75x_it.c.
498
;*                  Then to return to IRQ mode after the TIM0_OC1_IRQHandler
499
;*                  function termination.
500
;* Input          : none
501
;* Output         : none
502
;*******************************************************************************
503
TIM0_OC1IRQHandler
504
        IRQ_to_SYS
505
        ldr r0,=TIM0_OC1_IRQHandler
506
        ldr lr,=TIM0_OC1_IRQHandler_end
507
        bx r0
508
TIM0_OC1_IRQHandler_end:
509
        SYS_to_IRQ
510
 
511
;*******************************************************************************
512
;* Function Name  : TIM0_IC12IRQHandler
513
;* Description    : This function used to switch to SYS mode before entering
514
;*                  the TIM0_IC12_IRQHandler function located in 75x_it.c.
515
;*                  Then to return to IRQ mode after the TIM0_IC12_IRQHandler
516
;*                  function termination.
517
;* Input          : none
518
;* Output         : none
519
;*******************************************************************************
520
TIM0_IC12IRQHandler
521
        IRQ_to_SYS
522
        ldr r0,=TIM0_IC12_IRQHandler
523
        ldr lr,=TIM0_IC12_IRQHandler_end
524
        bx r0
525
TIM0_IC12_IRQHandler_end:
526
        SYS_to_IRQ
527
 
528
;*******************************************************************************
529
;* Function Name  : TIM0_UPIRQHandler
530
;* Description    : This function used to switch to SYS mode before entering
531
;*                  the TIM0_UP_IRQHandler function located in 75x_it.c.
532
;*                  Then to return to IRQ mode after the TIM0_UP_IRQHandler
533
;*                  function termination.
534
;* Input          : none
535
;* Output         : none
536
;*******************************************************************************
537
TIM0_UPIRQHandler
538
        IRQ_to_SYS
539
        ldr r0,=TIM0_UP_IRQHandler
540
        ldr lr,=TIM0_UP_IRQHandler_end
541
        bx r0
542
TIM0_UP_IRQHandler_end:
543
        SYS_to_IRQ
544
 
545
;*******************************************************************************
546
;* Function Name  : PWM_OC123IRQHandler
547
;* Description    : This function used to switch to SYS mode before entering
548
;*                  the PWM_OC123_IRQHandler function located in 75x_it.c.
549
;*                  Then to return to IRQ mode after the PWM_OC123_IRQHandler
550
;*                  function termination.
551
;* Input          : none
552
;* Output         : none
553
;*******************************************************************************
554
PWM_OC123IRQHandler
555
        IRQ_to_SYS
556
        ldr r0,=PWM_OC123_IRQHandler
557
        ldr lr,=PWM_OC123_IRQHandler_end
558
        bx r0
559
PWM_OC123_IRQHandler_end:
560
        SYS_to_IRQ
561
 
562
;*******************************************************************************
563
;* Function Name  : PWM_EMIRQHandler
564
;* Description    : This function used to switch to SYS mode before entering
565
;*                  the PWM_EM_IRQHandler function located in 75x_it.c.
566
;*                  Then to return to IRQ mode after the PWM_EM_IRQHandler
567
;*                  function termination.
568
;* Input          : none
569
;* Output         : none
570
;*******************************************************************************
571
PWM_EMIRQHandler
572
        IRQ_to_SYS
573
        ldr r0,=PWM_EM_IRQHandler
574
        ldr lr,=PWM_EM_IRQHandler_end
575
        bx r0
576
PWM_EM_IRQHandler_end:
577
        SYS_to_IRQ
578
 
579
;*******************************************************************************
580
;* Function Name  : PWM_UPIRQHandler
581
;* Description    : This function used to switch to SYS mode before entering
582
;*                  the PWM_UP_IRQHandler function located in 75x_it.c.
583
;*                  Then to return to IRQ mode after the PWM_UP_IRQHandler
584
;*                  function termination.
585
;* Input          : none
586
;* Output         : none
587
;*******************************************************************************
588
PWM_UPIRQHandler
589
        IRQ_to_SYS
590
        ldr r0,=PWM_UP_IRQHandler
591
        ldr lr,=PWM_UP_IRQHandler_end
592
        bx r0
593
PWM_UP_IRQHandler_end:
594
        SYS_to_IRQ
595
 
596
;*******************************************************************************
597
;* Function Name  : I2CIRQHandler
598
;* Description    : This function used to switch to SYS mode before entering
599
;*                  the I2C_IRQHandler function located in 75x_it.c.
600
;*                  Then to return to IRQ mode after the I2C_IRQHandler function
601
;*                  termination.
602
;* Input          : none
603
;* Output         : none
604
;*******************************************************************************
605
I2CIRQHandler
606
        IRQ_to_SYS
607
        ldr r0,=I2C_IRQHandler
608
        ldr lr,=I2C_IRQHandler_end
609
        bx r0
610
I2C_IRQHandler_end:
611
        SYS_to_IRQ
612
 
613
;*******************************************************************************
614
;* Function Name  : SSP1IRQHandler
615
;* Description    : This function used to switch to SYS mode before entering
616
;*                  the SSP1_IRQHandler function located in 75x_it.c.
617
;*                  Then to return to IRQ mode after the SSP1_IRQHandler
618
;*                  function termination.
619
;* Input          : none
620
;* Output         : none
621
;*******************************************************************************
622
SSP1IRQHandler
623
        IRQ_to_SYS
624
        ldr r0,=SSP1_IRQHandler
625
        ldr lr,=SSP1_IRQHandler_end
626
        bx r0
627
SSP1_IRQHandler_end:
628
        SYS_to_IRQ
629
 
630
;*******************************************************************************
631
;* Function Name  : SSP0IRQHandler
632
;* Description    : This function used to switch to SYS mode before entering
633
;*                  the SSP0_IRQHandler function located in 75x_it.c.
634
;*                  Then to return to IRQ mode after the SSP0_IRQHandler
635
;*                  function termination.
636
;* Input          : none
637
;* Output         : none
638
;*******************************************************************************
639
SSP0IRQHandler
640
        IRQ_to_SYS
641
        ldr r0,=SSP0_IRQHandler
642
        ldr lr,=SSP0_IRQHandler_end
643
        bx r0
644
SSP0_IRQHandler_end:
645
        SYS_to_IRQ
646
 
647
;*******************************************************************************
648
;* Function Name  : UART2IRQHandler
649
;* Description    : This function used to switch to SYS mode before entering
650
;*                  the UART2_IRQHandler function located in 75x_it.c.
651
;*                  Then to return to IRQ mode after the UART2_IRQHandler
652
;*                  function termination.
653
;* Input          : none
654
;* Output         : none
655
;*******************************************************************************
656
UART2IRQHandler
657
        IRQ_to_SYS
658
        ldr r0,=UART2_IRQHandler
659
        ldr lr,=UART2_IRQHandler_end
660
        bx r0
661
UART2_IRQHandler_end:
662
        SYS_to_IRQ
663
 
664
;*******************************************************************************
665
;* Function Name  : UART1IRQHandler
666
;* Description    : This function used to switch to SYS mode before entering
667
;*                  the UART1_IRQHandler function located in 75x_it.c.
668
;*                  Then to return to IRQ mode after the UART1_IRQHandler
669
;*                  function termination.
670
;* Input          : none
671
;* Output         : none
672
;*******************************************************************************
673
UART1IRQHandler
674
        IRQ_to_SYS
675
        ldr r0,=UART1_IRQHandler
676
        ldr lr,=UART1_IRQHandler_end
677
        bx r0
678
UART1_IRQHandler_end:
679
        SYS_to_IRQ
680
 
681
;*******************************************************************************
682
;* Function Name  : UART0IRQHandler
683
;* Description    : This function used to switch to SYS mode before entering
684
;*                  the UART0_IRQHandler function located in 75x_it.c.
685
;*                  Then to return to IRQ mode after the UART0_IRQHandler
686
;*                  function termination.
687
;* Input          : none
688
;* Output         : none
689
;*******************************************************************************
690
UART0IRQHandler
691
        IRQ_to_SYS
692
        ldr r0,=UART0_IRQHandler
693
        ldr lr,=UART0_IRQHandler_end
694
        bx r0
695
UART0_IRQHandler_end:
696
        SYS_to_IRQ
697
 
698
;*******************************************************************************
699
;* Function Name  : CANIRQHandler
700
;* Description    : This function used to switch to SYS mode before entering
701
;*                  the CAN_IRQHandler function located in 75x_it.c.
702
;*                  Then to return to IRQ mode after the CAN_IRQHandler function
703
;*                  termination.
704
;* Input          : none
705
;* Output         : none
706
;*******************************************************************************
707
CANIRQHandler
708
        IRQ_to_SYS
709
        ldr r0,=CAN_IRQHandler
710
        ldr lr,=CAN_IRQHandler_end
711
        bx r0
712
CAN_IRQHandler_end:
713
        SYS_to_IRQ
714
 
715
;*******************************************************************************
716
;* Function Name  : USB_LPIRQHandler
717
;* Description    : This function used to switch to SYS mode before entering
718
;*                  the USB_LP_IRQHandler function located in 75x_it.c.
719
;*                  Then to return to IRQ mode after the USB_LP_IRQHandler
720
;*                  function termination.
721
;* Input          : none
722
;* Output         : none
723
;*******************************************************************************
724
USB_LPIRQHandler
725
        IRQ_to_SYS
726
        ldr r0,=USB_LP_IRQHandler
727
        ldr lr,=USB_LP_IRQHandler_end
728
        bx r0
729
USB_LP_IRQHandler_end:
730
        SYS_to_IRQ
731
 
732
;*******************************************************************************
733
;* Function Name  : USB_HPIRQHandler
734
;* Description    : This function used to switch to SYS mode before entering
735
;*                  the USB_HP_IRQHandler function located in 75x_it.c.
736
;*                  Then to return to IRQ mode after the USB_HP_IRQHandler
737
;*                  function termination.
738
;* Input          : none
739
;* Output         : none
740
;*******************************************************************************
741
USB_HPIRQHandler
742
        IRQ_to_SYS
743
        ldr r0,=USB_HP_IRQHandler
744
        ldr lr,=USB_HP_IRQHandler_end
745
        bx r0
746
USB_HP_IRQHandler_end:
747
        SYS_to_IRQ
748
 
749
;*******************************************************************************
750
;* Function Name  : ADCIRQHandler
751
;* Description    : This function used to switch to SYS mode before entering
752
;*                  the ADC_IRQHandler function located in 75x_it.c.
753
;*                  Then to return to IRQ mode after the ADC_IRQHandler
754
;*                  function termination.
755
;* Input          : none
756
;* Output         : none
757
;*******************************************************************************
758
ADCIRQHandler
759
        IRQ_to_SYS
760
        ldr r0,=ADC_IRQHandler
761
        ldr lr,=ADC_IRQHandler_end
762
        bx r0
763
ADC_IRQHandler_end:
764
        SYS_to_IRQ
765
 
766
;*******************************************************************************
767
;* Function Name  : DMAIRQHandler
768
;* Description    : This function used to switch to SYS mode before entering
769
;*                  the DMA_IRQHandler function located in 75x_it.c.
770
;*                  Then to return to IRQ mode after the DMA_IRQHandler
771
;*                  function termination.
772
;* Input          : none
773
;* Output         : none
774
;*******************************************************************************
775
DMAIRQHandler
776
        IRQ_to_SYS
777
        ldr r0,=DMA_IRQHandler
778
        ldr lr,=DMA_IRQHandler_end
779
        bx r0
780
DMA_IRQHandler_end:
781
        SYS_to_IRQ
782
 
783
;*******************************************************************************
784
;* Function Name  : EXTITIRQHandler
785
;* Description    : This function used to switch to SYS mode before entering
786
;*                  the EXTIT_IRQHandler function located in 75x_it.c.
787
;*                  Then to return to IRQ mode after the EXTIT_IRQHandler
788
;*                  function termination.
789
;* Input          : none
790
;* Output         : none
791
;*******************************************************************************
792
EXTITIRQHandler
793
        IRQ_to_SYS
794
        ldr r0,=EXTIT_IRQHandler
795
        ldr lr,=EXTIT_IRQHandler_end
796
        bx r0
797
EXTIT_IRQHandler_end:
798
        SYS_to_IRQ
799
 
800
;*******************************************************************************
801
;* Function Name  : MRCCIRQHandler
802
;* Description    : This function used to switch to SYS mode before entering
803
;*                  the MRCC_IRQHandler function located in 75x_it.c.
804
;*                  Then to return to IRQ mode after the MRCC_IRQHandler
805
;*                  function termination.
806
;* Input          : none
807
;* Output         : none
808
;*******************************************************************************
809
MRCCIRQHandler
810
        IRQ_to_SYS
811
        ldr r0,=MRCC_IRQHandler
812
        ldr lr,=MRCC_IRQHandler_end
813
        bx r0
814
MRCC_IRQHandler_end:
815
        SYS_to_IRQ
816
 
817
;*******************************************************************************
818
;* Function Name  : FLASHSMIIRQHandler
819
;* Description    : This function used to switch to SYS mode before entering
820
;*                  the FLASHSMI_IRQHandler function located in 75x_it.c.
821
;*                  Then to return to IRQ mode after the FLASHSMI_IRQHandler
822
;*                  function termination.
823
;* Input          : none
824
;* Output         : none
825
;*******************************************************************************
826
FLASHSMIIRQHandler
827
        IRQ_to_SYS
828
        ldr r0,=FLASHSMI_IRQHandler
829
        ldr lr,=FLASHSMI_IRQHandler_end
830
        bx r0
831
FLASHSMI_IRQHandler_end:
832
        SYS_to_IRQ
833
 
834
;*******************************************************************************
835
;* Function Name  : RTCIRQHandler
836
;* Description    : This function used to switch to SYS mode before entering
837
;*                  the RTC_IRQHandler function located in 75x_it.c.
838
;*                  Then to return to IRQ mode after the RTC_IRQHandler function
839
;*                  termination.
840
;* Input          : none
841
;* Output         : none
842
;*******************************************************************************
843
RTCIRQHandler
844
        IRQ_to_SYS
845
        ldr r0,=RTC_IRQHandler
846
        ldr lr,=RTC_IRQHandler_end
847
        bx r0
848
RTC_IRQHandler_end:
849
        SYS_to_IRQ
850
 
851
;*******************************************************************************
852
;* Function Name  : TBIRQHandler
853
;* Description    : This function used to switch to SYS mode before entering
854
;*                  the TB_IRQHandler function located in 75x_it.c.
855
;*                  Then to return to IRQ mode after the TB_IRQHandler function
856
;*                  termination.
857
;* Input          : none
858
;* Output         : none
859
;*******************************************************************************
860
TBIRQHandler
861
        IRQ_to_SYS
862
        ldr r0,=TB_IRQHandler
863
        ldr lr,=TB_IRQHandler_end
864
        bx r0
865
TB_IRQHandler_end:
866
        SYS_to_IRQ
867
 
868
       LTORG
869
 
870
        END
871
;******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE*****
872
 
873
 
874
 
875
 
876
 
877
 
878
 
879
 
880
 
881
 
882
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.