]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/System/IAR/Interrupt_Entry_Stubs.asm
Update to MIT licensed FreeRTOS V10.0.0 - see https://www.freertos.org/History.txt
[freertos] / FreeRTOS / Demo / CORTEX_R4F_RZ_T_GCC_IAR / System / IAR / Interrupt_Entry_Stubs.asm
1 /*\r
2  * FreeRTOS Kernel V10.0.0\r
3  * Copyright (C) 2017 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
4  *\r
5  * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
6  * this software and associated documentation files (the "Software"), to deal in\r
7  * the Software without restriction, including without limitation the rights to\r
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
9  * the Software, and to permit persons to whom the Software is furnished to do so,\r
10  * subject to the following conditions:\r
11  *\r
12  * The above copyright notice and this permission notice shall be included in all\r
13  * copies or substantial portions of the Software. If you wish to use our Amazon\r
14  * FreeRTOS name, please do so in a fair use way that does not cause confusion.\r
15  *\r
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
18  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
19  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
20  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
21  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
22  *\r
23  * http://www.FreeRTOS.org\r
24  * http://aws.amazon.com/freertos\r
25  *\r
26  * 1 tab == 4 spaces!\r
27  */\r
28         SECTION intvec:CODE:ROOT(2)\r
29         ARM\r
30 \r
31         EXTERN pxISRFunction\r
32         EXTERN FreeRTOS_Tick_Handler\r
33         EXTERN FreeRTOS_IRQ_Handler\r
34         EXTERN vCMT_1_Channel_0_ISR\r
35         EXTERN vCMT_1_Channel_1_ISR\r
36         EXTERN r_scifa2_txif2_interrupt\r
37         EXTERN r_scifa2_rxif2_interrupt\r
38         EXTERN r_scifa2_drif2_interrupt\r
39         EXTERN r_scifa2_brif2_interrupt\r
40 \r
41         PUBLIC FreeRTOS_Tick_Handler_Entry\r
42         PUBLIC vCMT_1_Channel_0_ISR_Entry\r
43         PUBLIC vCMT_1_Channel_1_ISR_Entry\r
44         PUBLIC r_scifa2_txif2_interrupt_entry\r
45         PUBLIC r_scifa2_rxif2_interrupt_entry\r
46         PUBLIC r_scifa2_drif2_interrupt_entry\r
47         PUBLIC r_scifa2_brif2_interrupt_entry\r
48 \r
49 FreeRTOS_Tick_Handler_Entry:\r
50         /* Save used registers (probably not necessary). */\r
51         PUSH    {r0-r1}\r
52         /* Save the address of the C portion of this handler in pxISRFunction. */\r
53         LDR             r0, =pxISRFunction\r
54         LDR             R1, =FreeRTOS_Tick_Handler\r
55         STR             R1, [r0]\r
56         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
57         POP             {r0-r1}\r
58         B               FreeRTOS_IRQ_Handler\r
59 /*-----------------------------------------------------------*/\r
60 \r
61 vCMT_1_Channel_0_ISR_Entry:\r
62         /* Save used registers (probably not necessary). */\r
63         PUSH    {r0-r1}\r
64         /* Save the address of the C portion of this handler in pxISRFunction. */\r
65         LDR             r0, =pxISRFunction\r
66         LDR             R1, =vCMT_1_Channel_0_ISR\r
67         STR             R1, [r0]\r
68         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
69         POP             {r0-r1}\r
70         B               FreeRTOS_IRQ_Handler\r
71 /*-----------------------------------------------------------*/\r
72 \r
73 vCMT_1_Channel_1_ISR_Entry:\r
74         /* Save used registers (probably not necessary). */\r
75         PUSH    {r0-r1}\r
76         /* Save the address of the C portion of this handler in pxISRFunction. */\r
77         LDR             r0, =pxISRFunction\r
78         LDR             R1, =vCMT_1_Channel_1_ISR\r
79         STR             R1, [r0]\r
80         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
81         POP             {r0-r1}\r
82         B               FreeRTOS_IRQ_Handler\r
83 /*-----------------------------------------------------------*/\r
84 \r
85 r_scifa2_txif2_interrupt_entry:\r
86         /* Save used registers (probably not necessary). */\r
87         PUSH    {r0-r1}\r
88         /* Save the address of the C portion of this handler in pxISRFunction. */\r
89         LDR             r0, =pxISRFunction\r
90         LDR             R1, =r_scifa2_txif2_interrupt\r
91         STR             R1, [r0]\r
92         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
93         POP             {r0-r1}\r
94         B               FreeRTOS_IRQ_Handler\r
95 /*-----------------------------------------------------------*/\r
96 \r
97 r_scifa2_rxif2_interrupt_entry:\r
98         /* Save used registers (probably not necessary). */\r
99         PUSH    {r0-r1}\r
100         /* Save the address of the C portion of this handler in pxISRFunction. */\r
101         LDR             r0, =pxISRFunction\r
102         LDR             R1, =r_scifa2_rxif2_interrupt\r
103         STR             R1, [r0]\r
104         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
105         POP             {r0-r1}\r
106         B               FreeRTOS_IRQ_Handler\r
107 /*-----------------------------------------------------------*/\r
108 \r
109 r_scifa2_drif2_interrupt_entry:\r
110         /* Save used registers (probably not necessary). */\r
111         PUSH    {r0-r1}\r
112         /* Save the address of the C portion of this handler in pxISRFunction. */\r
113         LDR             r0, =pxISRFunction\r
114         LDR             R1, =r_scifa2_drif2_interrupt\r
115         STR             R1, [r0]\r
116         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
117         POP             {r0-r1}\r
118         B               FreeRTOS_IRQ_Handler\r
119 /*-----------------------------------------------------------*/\r
120 \r
121 r_scifa2_brif2_interrupt_entry:\r
122         /* Save used registers (probably not necessary). */\r
123         PUSH    {r0-r1}\r
124         /* Save the address of the C portion of this handler in pxISRFunction. */\r
125         LDR             r0, =pxISRFunction\r
126         LDR             R1, =r_scifa2_brif2_interrupt\r
127         STR             R1, [r0]\r
128         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
129         POP             {r0-r1}\r
130         B               FreeRTOS_IRQ_Handler\r
131 \r
132         END\r