Junichi Katsu / Mbed 2 deprecated WallbotWii

Dependencies:   USBHost mbed FATFileSystem mbed-rtos

Committer:
jksoft
Date:
Mon Jun 10 16:01:50 2013 +0000
Revision:
0:fccb789424fc
1.0

Who changed what in which revision?

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