in OS_TSK, rename run as tsk_run and new as tsk_new.

Committer:
jonathonfletcher
Date:
Sun Sep 02 03:24:20 2012 +0000
Revision:
0:5f46ebd8588e
in OS_TSK, rename run as tsk_run and new as tsk_new.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jonathonfletcher 0:5f46ebd8588e 1 /*----------------------------------------------------------------------------
jonathonfletcher 0:5f46ebd8588e 2 * RL-ARM - RTX
jonathonfletcher 0:5f46ebd8588e 3 *----------------------------------------------------------------------------
jonathonfletcher 0:5f46ebd8588e 4 * Name: HAL_CM3.S
jonathonfletcher 0:5f46ebd8588e 5 * Purpose: Hardware Abstraction Layer for Cortex-M3
jonathonfletcher 0:5f46ebd8588e 6 * Rev.: V4.50
jonathonfletcher 0:5f46ebd8588e 7 *----------------------------------------------------------------------------
jonathonfletcher 0:5f46ebd8588e 8 *
jonathonfletcher 0:5f46ebd8588e 9 * Copyright (c) 1999-2009 KEIL, 2009-2012 ARM Germany GmbH
jonathonfletcher 0:5f46ebd8588e 10 * All rights reserved.
jonathonfletcher 0:5f46ebd8588e 11 * Redistribution and use in source and binary forms, with or without
jonathonfletcher 0:5f46ebd8588e 12 * modification, are permitted provided that the following conditions are met:
jonathonfletcher 0:5f46ebd8588e 13 * - Redistributions of source code must retain the above copyright
jonathonfletcher 0:5f46ebd8588e 14 * notice, this list of conditions and the following disclaimer.
jonathonfletcher 0:5f46ebd8588e 15 * - Redistributions in binary form must reproduce the above copyright
jonathonfletcher 0:5f46ebd8588e 16 * notice, this list of conditions and the following disclaimer in the
jonathonfletcher 0:5f46ebd8588e 17 * documentation and/or other materials provided with the distribution.
jonathonfletcher 0:5f46ebd8588e 18 * - Neither the name of ARM nor the names of its contributors may be used
jonathonfletcher 0:5f46ebd8588e 19 * to endorse or promote products derived from this software without
jonathonfletcher 0:5f46ebd8588e 20 * specific prior written permission.
jonathonfletcher 0:5f46ebd8588e 21 *
jonathonfletcher 0:5f46ebd8588e 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
jonathonfletcher 0:5f46ebd8588e 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
jonathonfletcher 0:5f46ebd8588e 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
jonathonfletcher 0:5f46ebd8588e 25 * ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
jonathonfletcher 0:5f46ebd8588e 26 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
jonathonfletcher 0:5f46ebd8588e 27 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
jonathonfletcher 0:5f46ebd8588e 28 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
jonathonfletcher 0:5f46ebd8588e 29 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
jonathonfletcher 0:5f46ebd8588e 30 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
jonathonfletcher 0:5f46ebd8588e 31 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
jonathonfletcher 0:5f46ebd8588e 32 * POSSIBILITY OF SUCH DAMAGE.
jonathonfletcher 0:5f46ebd8588e 33 *---------------------------------------------------------------------------*/
jonathonfletcher 0:5f46ebd8588e 34
jonathonfletcher 0:5f46ebd8588e 35 .file "HAL_CM3.S"
jonathonfletcher 0:5f46ebd8588e 36 .syntax unified
jonathonfletcher 0:5f46ebd8588e 37
jonathonfletcher 0:5f46ebd8588e 38 .equ TCB_TSTACK, 36
jonathonfletcher 0:5f46ebd8588e 39
jonathonfletcher 0:5f46ebd8588e 40
jonathonfletcher 0:5f46ebd8588e 41 /*----------------------------------------------------------------------------
jonathonfletcher 0:5f46ebd8588e 42 * Functions
jonathonfletcher 0:5f46ebd8588e 43 *---------------------------------------------------------------------------*/
jonathonfletcher 0:5f46ebd8588e 44
jonathonfletcher 0:5f46ebd8588e 45 .thumb
jonathonfletcher 0:5f46ebd8588e 46
jonathonfletcher 0:5f46ebd8588e 47 .section ".text"
jonathonfletcher 0:5f46ebd8588e 48 .align 2
jonathonfletcher 0:5f46ebd8588e 49
jonathonfletcher 0:5f46ebd8588e 50
jonathonfletcher 0:5f46ebd8588e 51 /*--------------------------- rt_set_PSP ------------------------------------*/
jonathonfletcher 0:5f46ebd8588e 52
jonathonfletcher 0:5f46ebd8588e 53 # void rt_set_PSP (U32 stack);
jonathonfletcher 0:5f46ebd8588e 54
jonathonfletcher 0:5f46ebd8588e 55 .thumb_func
jonathonfletcher 0:5f46ebd8588e 56 .type rt_set_PSP, %function
jonathonfletcher 0:5f46ebd8588e 57 .global rt_set_PSP
jonathonfletcher 0:5f46ebd8588e 58 rt_set_PSP:
jonathonfletcher 0:5f46ebd8588e 59 .fnstart
jonathonfletcher 0:5f46ebd8588e 60 .cantunwind
jonathonfletcher 0:5f46ebd8588e 61
jonathonfletcher 0:5f46ebd8588e 62 MSR PSP,R0
jonathonfletcher 0:5f46ebd8588e 63 BX LR
jonathonfletcher 0:5f46ebd8588e 64
jonathonfletcher 0:5f46ebd8588e 65 .fnend
jonathonfletcher 0:5f46ebd8588e 66 .size rt_set_PSP, .-rt_set_PSP
jonathonfletcher 0:5f46ebd8588e 67
jonathonfletcher 0:5f46ebd8588e 68
jonathonfletcher 0:5f46ebd8588e 69 /*--------------------------- rt_get_PSP ------------------------------------*/
jonathonfletcher 0:5f46ebd8588e 70
jonathonfletcher 0:5f46ebd8588e 71 # U32 rt_get_PSP (void);
jonathonfletcher 0:5f46ebd8588e 72
jonathonfletcher 0:5f46ebd8588e 73 .thumb_func
jonathonfletcher 0:5f46ebd8588e 74 .type rt_get_PSP, %function
jonathonfletcher 0:5f46ebd8588e 75 .global rt_get_PSP
jonathonfletcher 0:5f46ebd8588e 76 rt_get_PSP:
jonathonfletcher 0:5f46ebd8588e 77 .fnstart
jonathonfletcher 0:5f46ebd8588e 78 .cantunwind
jonathonfletcher 0:5f46ebd8588e 79
jonathonfletcher 0:5f46ebd8588e 80 MRS R0,PSP
jonathonfletcher 0:5f46ebd8588e 81 BX LR
jonathonfletcher 0:5f46ebd8588e 82
jonathonfletcher 0:5f46ebd8588e 83 .fnend
jonathonfletcher 0:5f46ebd8588e 84 .size rt_get_PSP, .-rt_get_PSP
jonathonfletcher 0:5f46ebd8588e 85
jonathonfletcher 0:5f46ebd8588e 86
jonathonfletcher 0:5f46ebd8588e 87 /*--------------------------- os_set_env ------------------------------------*/
jonathonfletcher 0:5f46ebd8588e 88
jonathonfletcher 0:5f46ebd8588e 89 # void os_set_env (void);
jonathonfletcher 0:5f46ebd8588e 90 /* Switch to Unprivileged/Privileged Thread mode, use PSP. */
jonathonfletcher 0:5f46ebd8588e 91
jonathonfletcher 0:5f46ebd8588e 92 .thumb_func
jonathonfletcher 0:5f46ebd8588e 93 .type os_set_env, %function
jonathonfletcher 0:5f46ebd8588e 94 .global os_set_env
jonathonfletcher 0:5f46ebd8588e 95 os_set_env:
jonathonfletcher 0:5f46ebd8588e 96 .fnstart
jonathonfletcher 0:5f46ebd8588e 97 .cantunwind
jonathonfletcher 0:5f46ebd8588e 98
jonathonfletcher 0:5f46ebd8588e 99 MOV R0,SP /* PSP = MSP */
jonathonfletcher 0:5f46ebd8588e 100 MSR PSP,R0
jonathonfletcher 0:5f46ebd8588e 101 LDR R0,=os_flags
jonathonfletcher 0:5f46ebd8588e 102 LDRB R0,[R0]
jonathonfletcher 0:5f46ebd8588e 103 LSLS R0,#31
jonathonfletcher 0:5f46ebd8588e 104 ITE NE
jonathonfletcher 0:5f46ebd8588e 105 MOVNE R0,#0x02 /* Privileged Thread mode, use PSP */
jonathonfletcher 0:5f46ebd8588e 106 MOVEQ R0,#0x03 /* Unprivileged Thread mode, use PSP */
jonathonfletcher 0:5f46ebd8588e 107 MSR CONTROL,R0
jonathonfletcher 0:5f46ebd8588e 108 BX LR
jonathonfletcher 0:5f46ebd8588e 109
jonathonfletcher 0:5f46ebd8588e 110 .fnend
jonathonfletcher 0:5f46ebd8588e 111 .size os_set_env, .-os_set_env
jonathonfletcher 0:5f46ebd8588e 112
jonathonfletcher 0:5f46ebd8588e 113
jonathonfletcher 0:5f46ebd8588e 114 /*--------------------------- _alloc_box ------------------------------------*/
jonathonfletcher 0:5f46ebd8588e 115
jonathonfletcher 0:5f46ebd8588e 116 # void *_alloc_box (void *box_mem);
jonathonfletcher 0:5f46ebd8588e 117 /* Function wrapper for Unprivileged/Privileged mode. */
jonathonfletcher 0:5f46ebd8588e 118
jonathonfletcher 0:5f46ebd8588e 119 .thumb_func
jonathonfletcher 0:5f46ebd8588e 120 .type _alloc_box, %function
jonathonfletcher 0:5f46ebd8588e 121 .global _alloc_box
jonathonfletcher 0:5f46ebd8588e 122 _alloc_box:
jonathonfletcher 0:5f46ebd8588e 123 .fnstart
jonathonfletcher 0:5f46ebd8588e 124 .cantunwind
jonathonfletcher 0:5f46ebd8588e 125
jonathonfletcher 0:5f46ebd8588e 126 LDR R12,=rt_alloc_box
jonathonfletcher 0:5f46ebd8588e 127 MRS R3,IPSR
jonathonfletcher 0:5f46ebd8588e 128 LSLS R3,#24
jonathonfletcher 0:5f46ebd8588e 129 IT NE
jonathonfletcher 0:5f46ebd8588e 130 BXNE R12
jonathonfletcher 0:5f46ebd8588e 131 MRS R3,CONTROL
jonathonfletcher 0:5f46ebd8588e 132 LSLS R3,#31
jonathonfletcher 0:5f46ebd8588e 133 IT EQ
jonathonfletcher 0:5f46ebd8588e 134 BXEQ R12
jonathonfletcher 0:5f46ebd8588e 135 SVC 0
jonathonfletcher 0:5f46ebd8588e 136 BX LR
jonathonfletcher 0:5f46ebd8588e 137
jonathonfletcher 0:5f46ebd8588e 138 .fnend
jonathonfletcher 0:5f46ebd8588e 139 .size _alloc_box, .-_alloc_box
jonathonfletcher 0:5f46ebd8588e 140
jonathonfletcher 0:5f46ebd8588e 141
jonathonfletcher 0:5f46ebd8588e 142 /*--------------------------- _free_box -------------------------------------*/
jonathonfletcher 0:5f46ebd8588e 143
jonathonfletcher 0:5f46ebd8588e 144 # int _free_box (void *box_mem, void *box);
jonathonfletcher 0:5f46ebd8588e 145 /* Function wrapper for Unprivileged/Privileged mode. */
jonathonfletcher 0:5f46ebd8588e 146
jonathonfletcher 0:5f46ebd8588e 147 .thumb_func
jonathonfletcher 0:5f46ebd8588e 148 .type _free_box, %function
jonathonfletcher 0:5f46ebd8588e 149 .global _free_box
jonathonfletcher 0:5f46ebd8588e 150 _free_box:
jonathonfletcher 0:5f46ebd8588e 151 .fnstart
jonathonfletcher 0:5f46ebd8588e 152 .cantunwind
jonathonfletcher 0:5f46ebd8588e 153
jonathonfletcher 0:5f46ebd8588e 154 LDR R12,=rt_free_box
jonathonfletcher 0:5f46ebd8588e 155 MRS R3,IPSR
jonathonfletcher 0:5f46ebd8588e 156 LSLS R3,#24
jonathonfletcher 0:5f46ebd8588e 157 IT NE
jonathonfletcher 0:5f46ebd8588e 158 BXNE R12
jonathonfletcher 0:5f46ebd8588e 159 MRS R3,CONTROL
jonathonfletcher 0:5f46ebd8588e 160 LSLS R3,#31
jonathonfletcher 0:5f46ebd8588e 161 IT EQ
jonathonfletcher 0:5f46ebd8588e 162 BXEQ R12
jonathonfletcher 0:5f46ebd8588e 163 SVC 0
jonathonfletcher 0:5f46ebd8588e 164 BX LR
jonathonfletcher 0:5f46ebd8588e 165
jonathonfletcher 0:5f46ebd8588e 166 .fnend
jonathonfletcher 0:5f46ebd8588e 167 .size _free_box, .-_free_box
jonathonfletcher 0:5f46ebd8588e 168
jonathonfletcher 0:5f46ebd8588e 169
jonathonfletcher 0:5f46ebd8588e 170 /*-------------------------- SVC_Handler ------------------------------------*/
jonathonfletcher 0:5f46ebd8588e 171
jonathonfletcher 0:5f46ebd8588e 172 # void SVC_Handler (void);
jonathonfletcher 0:5f46ebd8588e 173
jonathonfletcher 0:5f46ebd8588e 174 .thumb_func
jonathonfletcher 0:5f46ebd8588e 175 .type SVC_Handler, %function
jonathonfletcher 0:5f46ebd8588e 176 .global SVC_Handler
jonathonfletcher 0:5f46ebd8588e 177 SVC_Handler:
jonathonfletcher 0:5f46ebd8588e 178 .fnstart
jonathonfletcher 0:5f46ebd8588e 179 .cantunwind
jonathonfletcher 0:5f46ebd8588e 180
jonathonfletcher 0:5f46ebd8588e 181 MRS R0,PSP /* Read PSP */
jonathonfletcher 0:5f46ebd8588e 182 LDR R1,[R0,#24] /* Read Saved PC from Stack */
jonathonfletcher 0:5f46ebd8588e 183 LDRB R1,[R1,#-2] /* Load SVC Number */
jonathonfletcher 0:5f46ebd8588e 184 CBNZ R1,SVC_User
jonathonfletcher 0:5f46ebd8588e 185
jonathonfletcher 0:5f46ebd8588e 186 LDM R0,{R0-R3,R12} /* Read R0-R3,R12 from stack */
jonathonfletcher 0:5f46ebd8588e 187 BLX R12 /* Call SVC Function */
jonathonfletcher 0:5f46ebd8588e 188
jonathonfletcher 0:5f46ebd8588e 189 MRS R12,PSP /* Read PSP */
jonathonfletcher 0:5f46ebd8588e 190 STM R12,{R0-R2} /* Store return values */
jonathonfletcher 0:5f46ebd8588e 191
jonathonfletcher 0:5f46ebd8588e 192 LDR R3,=os_tsk
jonathonfletcher 0:5f46ebd8588e 193 LDM R3,{R1,R2} /* os_tsk.run, os_tsk.new */
jonathonfletcher 0:5f46ebd8588e 194 CMP R1,R2
jonathonfletcher 0:5f46ebd8588e 195 BEQ SVC_Exit /* no task switch */
jonathonfletcher 0:5f46ebd8588e 196
jonathonfletcher 0:5f46ebd8588e 197 CBZ R1,SVC_Next /* Runtask deleted? */
jonathonfletcher 0:5f46ebd8588e 198 STMDB R12!,{R4-R11} /* Save Old context */
jonathonfletcher 0:5f46ebd8588e 199 STR R12,[R1,#TCB_TSTACK] /* Update os_tsk.run->tsk_stack */
jonathonfletcher 0:5f46ebd8588e 200
jonathonfletcher 0:5f46ebd8588e 201 PUSH {R2,R3}
jonathonfletcher 0:5f46ebd8588e 202 BL rt_stk_check /* Check for Stack overflow */
jonathonfletcher 0:5f46ebd8588e 203 POP {R2,R3}
jonathonfletcher 0:5f46ebd8588e 204
jonathonfletcher 0:5f46ebd8588e 205 SVC_Next:
jonathonfletcher 0:5f46ebd8588e 206 STR R2,[R3] /* os_tsk.run = os_tsk.new */
jonathonfletcher 0:5f46ebd8588e 207
jonathonfletcher 0:5f46ebd8588e 208 LDR R12,[R2,#TCB_TSTACK] /* os_tsk.new->tsk_stack */
jonathonfletcher 0:5f46ebd8588e 209 LDMIA R12!,{R4-R11} /* Restore New Context */
jonathonfletcher 0:5f46ebd8588e 210 MSR PSP,R12 /* Write PSP */
jonathonfletcher 0:5f46ebd8588e 211
jonathonfletcher 0:5f46ebd8588e 212 SVC_Exit:
jonathonfletcher 0:5f46ebd8588e 213 MVN LR,#~0xFFFFFFFD /* set EXC_RETURN value */
jonathonfletcher 0:5f46ebd8588e 214 BX LR
jonathonfletcher 0:5f46ebd8588e 215
jonathonfletcher 0:5f46ebd8588e 216 /*------------------- User SVC ------------------------------*/
jonathonfletcher 0:5f46ebd8588e 217
jonathonfletcher 0:5f46ebd8588e 218 SVC_User:
jonathonfletcher 0:5f46ebd8588e 219 PUSH {R4,LR} /* Save Registers */
jonathonfletcher 0:5f46ebd8588e 220 LDR R2,=SVC_Count
jonathonfletcher 0:5f46ebd8588e 221 LDR R2,[R2]
jonathonfletcher 0:5f46ebd8588e 222 CMP R1,R2
jonathonfletcher 0:5f46ebd8588e 223 BHI SVC_Done /* Overflow */
jonathonfletcher 0:5f46ebd8588e 224
jonathonfletcher 0:5f46ebd8588e 225 LDR R4,=SVC_Table-4
jonathonfletcher 0:5f46ebd8588e 226 LDR R4,[R4,R1,LSL #2] /* Load SVC Function Address */
jonathonfletcher 0:5f46ebd8588e 227
jonathonfletcher 0:5f46ebd8588e 228 LDM R0,{R0-R3,R12} /* Read R0-R3,R12 from stack */
jonathonfletcher 0:5f46ebd8588e 229 BLX R4 /* Call SVC Function */
jonathonfletcher 0:5f46ebd8588e 230
jonathonfletcher 0:5f46ebd8588e 231 MRS R12,PSP
jonathonfletcher 0:5f46ebd8588e 232 STM R12,{R0-R3} /* Function return values */
jonathonfletcher 0:5f46ebd8588e 233 SVC_Done:
jonathonfletcher 0:5f46ebd8588e 234 POP {R4,PC} /* RETI */
jonathonfletcher 0:5f46ebd8588e 235
jonathonfletcher 0:5f46ebd8588e 236 .fnend
jonathonfletcher 0:5f46ebd8588e 237 .size SVC_Handler, .-SVC_Handler
jonathonfletcher 0:5f46ebd8588e 238
jonathonfletcher 0:5f46ebd8588e 239
jonathonfletcher 0:5f46ebd8588e 240 /*-------------------------- PendSV_Handler ---------------------------------*/
jonathonfletcher 0:5f46ebd8588e 241
jonathonfletcher 0:5f46ebd8588e 242 # void PendSV_Handler (void);
jonathonfletcher 0:5f46ebd8588e 243
jonathonfletcher 0:5f46ebd8588e 244 .thumb_func
jonathonfletcher 0:5f46ebd8588e 245 .type PendSV_Handler, %function
jonathonfletcher 0:5f46ebd8588e 246 .global PendSV_Handler
jonathonfletcher 0:5f46ebd8588e 247 .global Sys_Switch
jonathonfletcher 0:5f46ebd8588e 248 PendSV_Handler:
jonathonfletcher 0:5f46ebd8588e 249 .fnstart
jonathonfletcher 0:5f46ebd8588e 250 .cantunwind
jonathonfletcher 0:5f46ebd8588e 251
jonathonfletcher 0:5f46ebd8588e 252 BL rt_pop_req
jonathonfletcher 0:5f46ebd8588e 253
jonathonfletcher 0:5f46ebd8588e 254 Sys_Switch:
jonathonfletcher 0:5f46ebd8588e 255 LDR R3,=os_tsk
jonathonfletcher 0:5f46ebd8588e 256 LDM R3,{R1,R2} /* os_tsk.run, os_tsk.new */
jonathonfletcher 0:5f46ebd8588e 257 CMP R1,R2
jonathonfletcher 0:5f46ebd8588e 258 BEQ Sys_Exit
jonathonfletcher 0:5f46ebd8588e 259
jonathonfletcher 0:5f46ebd8588e 260 MRS R12,PSP /* Read PSP */
jonathonfletcher 0:5f46ebd8588e 261 STMDB R12!,{R4-R11} /* Save Old context */
jonathonfletcher 0:5f46ebd8588e 262 STR R12,[R1,#TCB_TSTACK] /* Update os_tsk.run->tsk_stack */
jonathonfletcher 0:5f46ebd8588e 263
jonathonfletcher 0:5f46ebd8588e 264 PUSH {R2,R3}
jonathonfletcher 0:5f46ebd8588e 265 BL rt_stk_check /* Check for Stack overflow */
jonathonfletcher 0:5f46ebd8588e 266 POP {R2,R3}
jonathonfletcher 0:5f46ebd8588e 267
jonathonfletcher 0:5f46ebd8588e 268 STR R2,[R3] /* os_tsk.run = os_tsk.new */
jonathonfletcher 0:5f46ebd8588e 269
jonathonfletcher 0:5f46ebd8588e 270 LDR R12,[R2,#TCB_TSTACK] /* os_tsk.new->tsk_stack */
jonathonfletcher 0:5f46ebd8588e 271 LDMIA R12!,{R4-R11} /* Restore New Context */
jonathonfletcher 0:5f46ebd8588e 272 MSR PSP,R12 /* Write PSP */
jonathonfletcher 0:5f46ebd8588e 273
jonathonfletcher 0:5f46ebd8588e 274 Sys_Exit:
jonathonfletcher 0:5f46ebd8588e 275 MVN LR,#~0xFFFFFFFD /* set EXC_RETURN value */
jonathonfletcher 0:5f46ebd8588e 276 BX LR /* Return to Thread Mode */
jonathonfletcher 0:5f46ebd8588e 277
jonathonfletcher 0:5f46ebd8588e 278 .fnend
jonathonfletcher 0:5f46ebd8588e 279 .size PendSV_Handler, .-PendSV_Handler
jonathonfletcher 0:5f46ebd8588e 280
jonathonfletcher 0:5f46ebd8588e 281
jonathonfletcher 0:5f46ebd8588e 282 /*-------------------------- SysTick_Handler --------------------------------*/
jonathonfletcher 0:5f46ebd8588e 283
jonathonfletcher 0:5f46ebd8588e 284 # void SysTick_Handler (void);
jonathonfletcher 0:5f46ebd8588e 285
jonathonfletcher 0:5f46ebd8588e 286 .thumb_func
jonathonfletcher 0:5f46ebd8588e 287 .type SysTick_Handler, %function
jonathonfletcher 0:5f46ebd8588e 288 .global SysTick_Handler
jonathonfletcher 0:5f46ebd8588e 289 SysTick_Handler:
jonathonfletcher 0:5f46ebd8588e 290 .fnstart
jonathonfletcher 0:5f46ebd8588e 291 .cantunwind
jonathonfletcher 0:5f46ebd8588e 292
jonathonfletcher 0:5f46ebd8588e 293 BL rt_systick
jonathonfletcher 0:5f46ebd8588e 294 B Sys_Switch
jonathonfletcher 0:5f46ebd8588e 295
jonathonfletcher 0:5f46ebd8588e 296 .fnend
jonathonfletcher 0:5f46ebd8588e 297 .size SysTick_Handler, .-SysTick_Handler
jonathonfletcher 0:5f46ebd8588e 298
jonathonfletcher 0:5f46ebd8588e 299
jonathonfletcher 0:5f46ebd8588e 300 /*-------------------------- OS_Tick_Handler --------------------------------*/
jonathonfletcher 0:5f46ebd8588e 301
jonathonfletcher 0:5f46ebd8588e 302 # void OS_Tick_Handler (void);
jonathonfletcher 0:5f46ebd8588e 303
jonathonfletcher 0:5f46ebd8588e 304 .thumb_func
jonathonfletcher 0:5f46ebd8588e 305 .type OS_Tick_Handler, %function
jonathonfletcher 0:5f46ebd8588e 306 .global OS_Tick_Handler
jonathonfletcher 0:5f46ebd8588e 307 OS_Tick_Handler:
jonathonfletcher 0:5f46ebd8588e 308 .fnstart
jonathonfletcher 0:5f46ebd8588e 309 .cantunwind
jonathonfletcher 0:5f46ebd8588e 310
jonathonfletcher 0:5f46ebd8588e 311 BL os_tick_irqack
jonathonfletcher 0:5f46ebd8588e 312 BL rt_systick
jonathonfletcher 0:5f46ebd8588e 313 B Sys_Switch
jonathonfletcher 0:5f46ebd8588e 314
jonathonfletcher 0:5f46ebd8588e 315 .fnend
jonathonfletcher 0:5f46ebd8588e 316 .size OS_Tick_Handler, .-OS_Tick_Handler
jonathonfletcher 0:5f46ebd8588e 317
jonathonfletcher 0:5f46ebd8588e 318
jonathonfletcher 0:5f46ebd8588e 319 .end
jonathonfletcher 0:5f46ebd8588e 320
jonathonfletcher 0:5f46ebd8588e 321 /*----------------------------------------------------------------------------
jonathonfletcher 0:5f46ebd8588e 322 * end of file
jonathonfletcher 0:5f46ebd8588e 323 *---------------------------------------------------------------------------*/