⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_cpu_c.txt

📁 ucos2.86版本结合STM板极支持包
💻 TXT
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 914] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\os_cpu_c.o --depend=.\rvmdk\os_cpu_c.d --device=DARMSTM -O1 -Otime -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\arm-cortex-m3\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\CPU\ST\STM32\inc -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\Arm-Cortex-M3\RealView -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uC-Probe\Target\Plugins\uCOS-II -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\Source -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32 -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Source -ID:\Keil\ARM\INC\ST\STM32F10x ..\..\..\..\..\uCOS-II\Ports\ARM-Cortex-M3\Generic\RealView\os_cpu_c.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  OSInitHookBegin PROC
;;;53     #if OS_TMR_EN > 0
;;;54         OSTmrCtr = 0;
000000  492d              LDR      r1,|L1.184|
000002  2000              MOVS     r0,#0
000004  8008              STRH     r0,[r1,#0]  ; OSTmrCtr
;;;55     #endif
;;;56     }
000006  4770              BX       lr
;;;57     #endif
                          ENDP

                  OSInitHookEnd PROC
;;;73     {
;;;74     }
000008  4770              BX       lr
;;;75     #endif
                          ENDP

                  OSTaskCreateHook PROC
;;;91     #if OS_APP_HOOKS_EN > 0
;;;92         App_TaskCreateHook(ptcb);
00000a  f7fff7ff          B.W      App_TaskCreateHook
;;;93     #else
;;;94         (void)ptcb;                                                         /* Prevent compiler warning                                 */
;;;95     #endif
;;;96     }
;;;97     #endif
                          ENDP

                  OSTaskDelHook PROC
;;;114    #if OS_APP_HOOKS_EN > 0
;;;115        App_TaskDelHook(ptcb);
00000e  f7fff7ff          B.W      App_TaskDelHook
;;;116    #else
;;;117        (void)ptcb;                                                         /* Prevent compiler warning                                 */
;;;118    #endif
;;;119    }
;;;120    #endif
                          ENDP

                  OSTaskIdleHook PROC
;;;137    #if OS_APP_HOOKS_EN > 0
;;;138        App_TaskIdleHook();
000012  f7fff7ff          B.W      App_TaskIdleHook
;;;139    #endif
;;;140    }
;;;141    #endif
                          ENDP

                  OSTaskStatHook PROC
;;;157    #if OS_APP_HOOKS_EN > 0
;;;158        App_TaskStatHook();
000016  f7fff7ff          B.W      App_TaskStatHook
;;;159    #endif
;;;160    }
;;;161    #endif
                          ENDP

                  OSTaskStkInit PROC
;;;200                                                   /* Registers stacked as if auto-saved on exception        */
;;;201        *(stk)    = (INT32U)0x01000000L;           /* xPSR                                                   */
00001a  f04ff04f          MOV      r3,#0x1000000
00001e  6013              STR      r3,[r2,#0]
;;;202        *(--stk)  = (INT32U)task;                  /* Entry Point                                            */
000020  f842f842          STR      r0,[r2,#-4]!
;;;203        *(--stk)  = (INT32U)0xFFFFFFFEL;           /* R14 (LR) (init value will cause fault if ever used)    */
000024  f06ff06f          MVN      r3,#1
000028  1f10              SUBS     r0,r2,#4
00002a  f842f842          STR      r3,[r2,#-4]
;;;204        *(--stk)  = (INT32U)0x12121212L;           /* R12                                                    */
00002e  f04ff04f          MOV      r2,#0x12121212
000032  f840f840          STR      r2,[r0,#-4]!
;;;205        *(--stk)  = (INT32U)0x03030303L;           /* R3                                                     */
000036  f04ff04f          MOV      r2,#0x3030303
00003a  f840f840          STR      r2,[r0,#-4]!
;;;206        *(--stk)  = (INT32U)0x02020202L;           /* R2                                                     */
00003e  f04ff04f          MOV      r2,#0x2020202
000042  f840f840          STR      r2,[r0,#-4]!
;;;207        *(--stk)  = (INT32U)0x01010101L;           /* R1                                                     */
000046  1052              ASRS     r2,r2,#1
000048  f840f840          STR      r2,[r0,#-4]!
;;;208        *(--stk)  = (INT32U)p_arg;                 /* R0 : argument                                          */
00004c  f840f840          STR      r1,[r0,#-4]!
;;;209    
;;;210                                                   /* Remaining registers saved on process stack             */
;;;211        *(--stk)  = (INT32U)0x11111111L;           /* R11                                                    */
000050  f04ff04f          MOV      r1,#0x11111111
000054  f840f840          STR      r1,[r0,#-4]!
;;;212        *(--stk)  = (INT32U)0x10101010L;           /* R10                                                    */
000058  0111              LSLS     r1,r2,#4
00005a  f840f840          STR      r1,[r0,#-4]!
;;;213        *(--stk)  = (INT32U)0x09090909L;           /* R9                                                     */
00005e  f04ff04f          MOV      r1,#0x9090909
000062  f840f840          STR      r1,[r0,#-4]!
;;;214        *(--stk)  = (INT32U)0x08080808L;           /* R8                                                     */
000066  00d1              LSLS     r1,r2,#3
000068  f840f840          STR      r1,[r0,#-4]!
;;;215        *(--stk)  = (INT32U)0x07070707L;           /* R7                                                     */
00006c  f04ff04f          MOV      r1,#0x7070707
000070  f840f840          STR      r1,[r0,#-4]!
;;;216        *(--stk)  = (INT32U)0x06060606L;           /* R6                                                     */
000074  f04ff04f          MOV      r1,#0x6060606
000078  f840f840          STR      r1,[r0,#-4]!
;;;217        *(--stk)  = (INT32U)0x05050505L;           /* R5                                                     */
00007c  f04ff04f          MOV      r1,#0x5050505
000080  f840f840          STR      r1,[r0,#-4]!
;;;218        *(--stk)  = (INT32U)0x04040404L;           /* R4                                                     */
000084  0091              LSLS     r1,r2,#2
000086  f840f840          STR      r1,[r0,#-4]!
;;;219    
;;;220        return (stk);
;;;221    }
00008a  4770              BX       lr
;;;222    
                          ENDP

                  OSTaskSwHook PROC
;;;241    #if OS_APP_HOOKS_EN > 0
;;;242        App_TaskSwHook();
00008c  f7fff7ff          B.W      App_TaskSwHook
;;;243    #endif
;;;244    }
;;;245    #endif
                          ENDP

                  OSTCBInitHook PROC
;;;261    #if OS_APP_HOOKS_EN > 0
;;;262        App_TCBInitHook(ptcb);
000090  f7fff7ff          B.W      App_TCBInitHook
;;;263    #else
;;;264        (void)ptcb;                                                         /* Prevent compiler warning                                 */
;;;265    #endif
;;;266    }
;;;267    #endif
                          ENDP

                  OSTimeTickHook PROC
;;;282    void  OSTimeTickHook (void)
;;;283    {
000094  b510              PUSH     {r4,lr}
;;;284    #if OS_APP_HOOKS_EN > 0
;;;285        App_TimeTickHook();
000096  f7fff7ff          BL       App_TimeTickHook
;;;286    #endif
;;;287    
;;;288    #if OS_TMR_EN > 0
;;;289        OSTmrCtr++;
00009a  4907              LDR      r1,|L1.184|
00009c  8808              LDRH     r0,[r1,#0]  ; OSTmrCtr
00009e  1c40              ADDS     r0,r0,#1
0000a0  b280              UXTH     r0,r0
0000a2  8008              STRH     r0,[r1,#0]  ; OSTmrCtr
;;;290        if (OSTmrCtr >= (OS_TICKS_PER_SEC / OS_TMR_CFG_TICKS_PER_SEC)) {
0000a4  280a              CMP      r0,#0xa
0000a6  d305              BCC      |L1.180|
;;;291            OSTmrCtr = 0;
0000a8  2000              MOVS     r0,#0
0000aa  8008              STRH     r0,[r1,#0]  ; OSTmrCtr
;;;292            OSTmrSignal();
0000ac  e8bde8bd          POP      {r4,lr}
0000b0  f7fff7ff          B.W      OSTmrSignal
                  |L1.180|
;;;293        }
;;;294    #endif
;;;295    }
0000b4  bd10              POP      {r4,pc}
;;;296    #endif
                          ENDP

0000b6  0000              DCW      0x0000
                  |L1.184|
0000b8  00000000          DCD      OSTmrCtr

                          AREA ||.data||, DATA, ALIGN=1

                  OSTmrCtr
000000  0000              DCB      0x00,0x00

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -