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

📄 os_cpu_c.lst

📁 stm32+ucos-ii
💻 LST
📖 第 1 页 / 共 3 页
字号:
    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

⌨️ 快捷键说明

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