?? os_cpu_c.lst
字號:
312 void OSTCBInitHook (OS_TCB *ptcb)
313 {
\ OSTCBInitHook:
\ 00000000 10B5 PUSH {R4,LR}
\ 00000002 0400 MOVS R4,R0
314 #if OS_APP_HOOKS_EN > 0u
315 App_TCBInitHook(ptcb);
\ 00000004 2000 MOVS R0,R4
\ 00000006 ........ BL App_TCBInitHook
316 #else
317 (void)ptcb; /* Prevent compiler warning */
318 #endif
319 }
\ 0000000A 10BD POP {R4,PC} ;; return
320 #endif
321
322 /*
323 *********************************************************************************************************
324 * TICK HOOK
325 *
326 * Description: This function is called every tick.
327 *
328 * Arguments : none
329 *
330 * Note(s) : 1) Interrupts may or may not be ENABLED during this call.
331 *********************************************************************************************************
332 */
333 #if (OS_CPU_HOOKS_EN > 0u) && (OS_TIME_TICK_HOOK_EN > 0u)
\ In section .text, align 2, keep-with-next
334 void OSTimeTickHook (void)
335 {
\ OSTimeTickHook:
\ 00000000 80B5 PUSH {R7,LR}
336 #if OS_APP_HOOKS_EN > 0u
337 App_TimeTickHook();
\ 00000002 ........ BL App_TimeTickHook
338 #endif
339
340 #if OS_TMR_EN > 0u
341 OSTmrCtr++;
\ 00000006 .... LDR.N R0,??DataTable4_3
\ 00000008 0088 LDRH R0,[R0, #+0]
\ 0000000A 401C ADDS R0,R0,#+1
\ 0000000C .... LDR.N R1,??DataTable4_3
\ 0000000E 0880 STRH R0,[R1, #+0]
342 if (OSTmrCtr >= (OS_TICKS_PER_SEC / OS_TMR_CFG_TICKS_PER_SEC)) {
\ 00000010 .... LDR.N R0,??DataTable4_3
\ 00000012 0088 LDRH R0,[R0, #+0]
\ 00000014 6428 CMP R0,#+100
\ 00000016 04D3 BCC.N ??OSTimeTickHook_0
343 OSTmrCtr = 0;
\ 00000018 .... LDR.N R0,??DataTable4_3
\ 0000001A 0021 MOVS R1,#+0
\ 0000001C 0180 STRH R1,[R0, #+0]
344 OSTmrSignal();
\ 0000001E ........ BL OSTmrSignal
345 }
346 #endif
347 }
\ ??OSTimeTickHook_0:
\ 00000022 01BD POP {R0,PC} ;; return
348 #endif
349
350 /*
351 *********************************************************************************************************
352 * SYS TICK HANDLER
353 *
354 * Description: Handle the system tick (SysTick) interrupt, which is used to generate the uC/OS-II tick
355 * interrupt.
356 *
357 * Arguments : none.
358 *
359 * Note(s) : 1) This function MUST be placed on entry 15 of the Cortex-M3 vector table.
360 *********************************************************************************************************
361 */
362
\ In section .text, align 2, keep-with-next
363 void OS_CPU_SysTickHandler (void)
364 {
\ OS_CPU_SysTickHandler:
\ 00000000 10B5 PUSH {R4,LR}
365 OS_CPU_SR cpu_sr;
366
367
368 OS_ENTER_CRITICAL(); /* Tell uC/OS-II that we are starting an ISR */
\ 00000002 ........ BL OS_CPU_SR_Save
\ 00000006 0400 MOVS R4,R0
369 OSIntNesting++;
\ 00000008 .... LDR.N R0,??DataTable4_5
\ 0000000A 0078 LDRB R0,[R0, #+0]
\ 0000000C 401C ADDS R0,R0,#+1
\ 0000000E .... LDR.N R1,??DataTable4_5
\ 00000010 0870 STRB R0,[R1, #+0]
370 OS_EXIT_CRITICAL();
\ 00000012 2000 MOVS R0,R4
\ 00000014 ........ BL OS_CPU_SR_Restore
371
372 OSTimeTick(); /* Call uC/OS-II's OSTimeTick() */
\ 00000018 ........ BL OSTimeTick
373
374 OSIntExit(); /* Tell uC/OS-II that we are leaving the ISR */
\ 0000001C ........ BL OSIntExit
375 }
\ 00000020 10BD POP {R4,PC} ;; return
376
377 /*
378 *********************************************************************************************************
379 * INITIALIZE SYS TICK
380 *
381 * Description: Initialize the SysTick.
382 *
383 * Arguments : cnts is the number of SysTick counts between two OS tick interrupts.
384 *
385 * Note(s) : 1) This function MUST be called after OSStart() & after processor initialization.
386 *********************************************************************************************************
387 */
388
\ In section .text, align 2, keep-with-next
389 void OS_CPU_SysTickInit (INT32U cnts)
390 {
391 OS_CPU_CM3_NVIC_ST_RELOAD = cnts - 1u;
\ OS_CPU_SysTickInit:
\ 00000000 411E SUBS R1,R0,#+1
\ 00000002 .... LDR.N R2,??DataTable4_6 ;; 0xe000e014
\ 00000004 1160 STR R1,[R2, #+0]
392 /* Set prio of SysTick handler to min prio. */
393 OS_CPU_CM3_NVIC_PRIO_ST = OS_CPU_CM3_NVIC_PRIO_MIN;
\ 00000006 .... LDR.N R1,??DataTable4_7 ;; 0xe000ed23
\ 00000008 FF22 MOVS R2,#+255
\ 0000000A 0A70 STRB R2,[R1, #+0]
394 /* Enable timer. */
395 OS_CPU_CM3_NVIC_ST_CTRL |= OS_CPU_CM3_NVIC_ST_CTRL_CLK_SRC | OS_CPU_CM3_NVIC_ST_CTRL_ENABLE;
\ 0000000C .... LDR.N R1,??DataTable4_8 ;; 0xe000e010
\ 0000000E 0968 LDR R1,[R1, #+0]
\ 00000010 51F00501 ORRS R1,R1,#0x5
\ 00000014 .... LDR.N R2,??DataTable4_8 ;; 0xe000e010
\ 00000016 1160 STR R1,[R2, #+0]
396 /* Enable timer interrupt. */
397 OS_CPU_CM3_NVIC_ST_CTRL |= OS_CPU_CM3_NVIC_ST_CTRL_INTEN;
\ 00000018 .... LDR.N R1,??DataTable4_8 ;; 0xe000e010
\ 0000001A 0968 LDR R1,[R1, #+0]
\ 0000001C 51F00201 ORRS R1,R1,#0x2
\ 00000020 .... LDR.N R2,??DataTable4_8 ;; 0xe000e010
\ 00000022 1160 STR R1,[R2, #+0]
398 }
\ 00000024 7047 BX LR ;; return
\ In section .text, align 4, keep-with-next
\ ??DataTable4:
\ 00000000 ........ DC32 OS_CPU_ExceptStk
\ In section .text, align 4, keep-with-next
\ ??DataTable4_1:
\ 00000000 ........ DC32 OS_CPU_ExceptStkBase
\ In section .text, align 4, keep-with-next
\ ??DataTable4_2:
\ 00000000 ........ DC32 OS_CPU_ExceptStk+0x1FC
\ In section .text, align 4, keep-with-next
\ ??DataTable4_3:
\ 00000000 ........ DC32 OSTmrCtr
\ In section .text, align 4, keep-with-next
\ ??DataTable4_4:
\ 00000000 ........ DC32 OS_TaskReturn
\ In section .text, align 4, keep-with-next
\ ??DataTable4_5:
\ 00000000 ........ DC32 OSIntNesting
\ In section .text, align 4, keep-with-next
\ ??DataTable4_6:
\ 00000000 14E000E0 DC32 0xe000e014
\ In section .text, align 4, keep-with-next
\ ??DataTable4_7:
\ 00000000 23ED00E0 DC32 0xe000ed23
\ In section .text, align 4, keep-with-next
\ ??DataTable4_8:
\ 00000000 10E000E0 DC32 0xe000e010
Maximum stack usage in bytes:
Function .cstack
-------- -------
OSInitHookBegin 0
OSInitHookEnd 0
OSTCBInitHook 8
OSTaskCreateHook 8
OSTaskDelHook 8
OSTaskIdleHook 8
OSTaskReturnHook 8
OSTaskStatHook 8
OSTaskStkInit 8
OSTaskSwHook 8
OSTimeTickHook 8
OS_CPU_SysTickHandler 8
OS_CPU_SysTickInit 0
Section sizes:
Function/Label Bytes
-------------- -----
OS_CPU_ExceptStk 512
OS_CPU_ExceptStkBase 4
OSTmrCtr 2
OSInitHookBegin 36
OSInitHookEnd 2
OSTaskCreateHook 12
OSTaskDelHook 12
OSTaskIdleHook 8
OSTaskReturnHook 12
OSTaskStatHook 8
OSTaskStkInit 126
OSTaskSwHook 8
OSTCBInitHook 12
OSTimeTickHook 36
OS_CPU_SysTickHandler 34
OS_CPU_SysTickInit 38
??DataTable4 4
??DataTable4_1 4
??DataTable4_2 4
??DataTable4_3 4
??DataTable4_4 4
??DataTable4_5 4
??DataTable4_6 4
??DataTable4_7 4
??DataTable4_8 4
518 bytes in section .bss
380 bytes in section .text
380 bytes of CODE memory
518 bytes of DATA memory
Errors: none
Warnings: none
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -