NRF com

Dependencies:   mbed nRF24L01P

Committer:
vmihalcut
Date:
Mon May 27 06:06:31 2013 +0000
Revision:
0:fdfe93cb9255
NRF24L01 receiver

Who changed what in which revision?

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