]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR/System/IAR/Interrupt_Entry_Stubs.asm
Update version number in readiness for V10.3.0 release. Sync SVN with reviewed releas...
[freertos] / FreeRTOS / Demo / CORTEX_R4F_RZ_T_GCC_IAR / System / IAR / Interrupt_Entry_Stubs.asm
1 /*\r
2  * FreeRTOS Kernel V10.3.0\r
3  * Copyright (C) 2020 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.\r
14  *\r
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
17  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
18  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
19  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
20  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
21  *\r
22  * http://www.FreeRTOS.org\r
23  * http://aws.amazon.com/freertos\r
24  *\r
25  * 1 tab == 4 spaces!\r
26  */\r
27         SECTION intvec:CODE:ROOT(2)\r
28         ARM\r
29 \r
30         EXTERN pxISRFunction\r
31         EXTERN FreeRTOS_Tick_Handler\r
32         EXTERN FreeRTOS_IRQ_Handler\r
33         EXTERN vCMT_1_Channel_0_ISR\r
34         EXTERN vCMT_1_Channel_1_ISR\r
35         EXTERN r_scifa2_txif2_interrupt\r
36         EXTERN r_scifa2_rxif2_interrupt\r
37         EXTERN r_scifa2_drif2_interrupt\r
38         EXTERN r_scifa2_brif2_interrupt\r
39 \r
40         PUBLIC FreeRTOS_Tick_Handler_Entry\r
41         PUBLIC vCMT_1_Channel_0_ISR_Entry\r
42         PUBLIC vCMT_1_Channel_1_ISR_Entry\r
43         PUBLIC r_scifa2_txif2_interrupt_entry\r
44         PUBLIC r_scifa2_rxif2_interrupt_entry\r
45         PUBLIC r_scifa2_drif2_interrupt_entry\r
46         PUBLIC r_scifa2_brif2_interrupt_entry\r
47 \r
48 FreeRTOS_Tick_Handler_Entry:\r
49         /* Save used registers (probably not necessary). */\r
50         PUSH    {r0-r1}\r
51         /* Save the address of the C portion of this handler in pxISRFunction. */\r
52         LDR             r0, =pxISRFunction\r
53         LDR             R1, =FreeRTOS_Tick_Handler\r
54         STR             R1, [r0]\r
55         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
56         POP             {r0-r1}\r
57         B               FreeRTOS_IRQ_Handler\r
58 /*-----------------------------------------------------------*/\r
59 \r
60 vCMT_1_Channel_0_ISR_Entry:\r
61         /* Save used registers (probably not necessary). */\r
62         PUSH    {r0-r1}\r
63         /* Save the address of the C portion of this handler in pxISRFunction. */\r
64         LDR             r0, =pxISRFunction\r
65         LDR             R1, =vCMT_1_Channel_0_ISR\r
66         STR             R1, [r0]\r
67         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
68         POP             {r0-r1}\r
69         B               FreeRTOS_IRQ_Handler\r
70 /*-----------------------------------------------------------*/\r
71 \r
72 vCMT_1_Channel_1_ISR_Entry:\r
73         /* Save used registers (probably not necessary). */\r
74         PUSH    {r0-r1}\r
75         /* Save the address of the C portion of this handler in pxISRFunction. */\r
76         LDR             r0, =pxISRFunction\r
77         LDR             R1, =vCMT_1_Channel_1_ISR\r
78         STR             R1, [r0]\r
79         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
80         POP             {r0-r1}\r
81         B               FreeRTOS_IRQ_Handler\r
82 /*-----------------------------------------------------------*/\r
83 \r
84 r_scifa2_txif2_interrupt_entry:\r
85         /* Save used registers (probably not necessary). */\r
86         PUSH    {r0-r1}\r
87         /* Save the address of the C portion of this handler in pxISRFunction. */\r
88         LDR             r0, =pxISRFunction\r
89         LDR             R1, =r_scifa2_txif2_interrupt\r
90         STR             R1, [r0]\r
91         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
92         POP             {r0-r1}\r
93         B               FreeRTOS_IRQ_Handler\r
94 /*-----------------------------------------------------------*/\r
95 \r
96 r_scifa2_rxif2_interrupt_entry:\r
97         /* Save used registers (probably not necessary). */\r
98         PUSH    {r0-r1}\r
99         /* Save the address of the C portion of this handler in pxISRFunction. */\r
100         LDR             r0, =pxISRFunction\r
101         LDR             R1, =r_scifa2_rxif2_interrupt\r
102         STR             R1, [r0]\r
103         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
104         POP             {r0-r1}\r
105         B               FreeRTOS_IRQ_Handler\r
106 /*-----------------------------------------------------------*/\r
107 \r
108 r_scifa2_drif2_interrupt_entry:\r
109         /* Save used registers (probably not necessary). */\r
110         PUSH    {r0-r1}\r
111         /* Save the address of the C portion of this handler in pxISRFunction. */\r
112         LDR             r0, =pxISRFunction\r
113         LDR             R1, =r_scifa2_drif2_interrupt\r
114         STR             R1, [r0]\r
115         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
116         POP             {r0-r1}\r
117         B               FreeRTOS_IRQ_Handler\r
118 /*-----------------------------------------------------------*/\r
119 \r
120 r_scifa2_brif2_interrupt_entry:\r
121         /* Save used registers (probably not necessary). */\r
122         PUSH    {r0-r1}\r
123         /* Save the address of the C portion of this handler in pxISRFunction. */\r
124         LDR             r0, =pxISRFunction\r
125         LDR             R1, =r_scifa2_brif2_interrupt\r
126         STR             R1, [r0]\r
127         /* Restore used registers then branch to the FreeRTOS IRQ handler. */\r
128         POP             {r0-r1}\r
129         B               FreeRTOS_IRQ_Handler\r
130 \r
131         END\r