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

📄 os_cpu_c.lst

📁 针对STM32F103的UCOS移植
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART     13/Mar/2009  16:00:58 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  thumb                                                #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\UC_OS\Micrium\Software\uCOS-II\Ports\ARM-Cortex-M #
#                       3\Generic\IAR\os_cpu_c.c                             #
#    Command line    =  E:\UC_OS\Micrium\Software\uCOS-II\Ports\ARM-Cortex-M #
#                       3\Generic\IAR\os_cpu_c.c -lCN                        #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\Flash\List\ -o                        #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\Flash\Obj\ -z6 --no_unroll            #
#                       --no_inline --no_tbaa --no_scheduling --debug        #
#                       --cpu_mode thumb --endian little --cpu cortex-M3     #
#                       --stack_align 4 -e --fpu None --dlib_config          #
#                       "C:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0 Kickstart\arm\LIB\dl7mptnnl8n.h" -I              #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\ -I E:\UC_OS\Micrium\Software\EvalBoa #
#                       rds\ST\STM3210B-EVAL\IAR\OS-Probe\..\..\..\..\..\uco #
#                       s-ii\ports\arm-cortex-m3\generic\iar\ -I             #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\ucos-ii\source\ -I     #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uc-lib\ -I             #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uc-cpu\ -I             #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uc-cpu\ARM-Cortex-M3\I #
#                       AR\ -I E:\UC_OS\Micrium\Software\EvalBoards\ST\STM32 #
#                       10B-EVAL\IAR\OS-Probe\..\..\..\..\..\cpu\st\stm32\in #
#                       c\ -I E:\UC_OS\Micrium\Software\EvalBoards\ST\STM321 #
#                       0B-EVAL\IAR\OS-Probe\..\BSP\ -I                      #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
#                       ication\Generic\RS-232\Source\ -I                    #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
#                       ication\Generic\RS-232\Ports\ST\STM32\ -I            #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
#                       ication\Generic\Source\ -I                           #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Plugin #
#                       s\uCOS-II\ -I "C:\Program Files\IAR                  #
#                       Systems\Embedded Workbench 4.0 Kickstart\arm\INC\"   #
#    List file       =  E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\Flash\List\os_cpu_c.lst               #
#    Object file     =  E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\Flash\Obj\os_cpu_c.r79                #
#                                                                            #
#                                                                            #
##############################################################################

E:\UC_OS\Micrium\Software\uCOS-II\Ports\ARM-Cortex-M3\Generic\IAR\os_cpu_c.c
      1          /*
      2          *********************************************************************************************************
      3          *                                               uC/OS-II
      4          *                                         The Real-Time Kernel
      5          *
      6          *
      7          *                                (c) Copyright 2006, Micrium, Weston, FL
      8          *                                          All Rights Reserved
      9          *
     10          *                                           Generic ARM Port
     11          *
     12          * File      : OS_CPU_C.C
     13          * Version   : V2.84
     14          * By        : Jean J. Labrosse
     15          *
     16          * For       : ARMv7M Cortex-M3
     17          * Mode      : Thumb2
     18          * Toolchain : IAR EWARM
     19          *********************************************************************************************************
     20          */
     21          
     22          #define  OS_CPU_GLOBALS
     23          #include <ucos_ii.h>
     24          
     25          /*
     26          *********************************************************************************************************
     27          *                                          LOCAL VARIABLES
     28          *********************************************************************************************************
     29          */
     30          
     31          #if OS_TMR_EN > 0

   \                                 In segment DATA_Z, align 2, align-sorted
     32          static  INT16U  OSTmrCtr;
   \                     OSTmrCtr:
   \   00000000                      DS8 2
     33          #endif
     34          
     35          /*
     36          *********************************************************************************************************
     37          *                                       OS INITIALIZATION HOOK
     38          *                                            (BEGINNING)
     39          *
     40          * Description: This function is called by OSInit() at the beginning of OSInit().
     41          *
     42          * Arguments  : none
     43          *
     44          * Note(s)    : 1) Interrupts should be disabled during this call.
     45          *********************************************************************************************************
     46          */
     47          #if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203

   \                                 In segment CODE, align 4, keep-with-next
     48          void  OSInitHookBegin (void)
     49          {
     50          #if OS_TMR_EN > 0
     51              OSTmrCtr = 0;
   \                     OSInitHookBegin:
   \   00000000   ....               LDR.N    R0,??DataTable1  ;; OSTmrCtr
   \   00000002   0021               MOVS     R1,#+0
   \   00000004   0180               STRH     R1,[R0, #+0]
     52          #endif
     53          }
   \   00000006   7047               BX       LR               ;; return
     54          #endif
     55          
     56          /*
     57          *********************************************************************************************************
     58          *                                       OS INITIALIZATION HOOK
     59          *                                               (END)
     60          *
     61          * Description: This function is called by OSInit() at the end of OSInit().
     62          *
     63          * Arguments  : none
     64          *
     65          * Note(s)    : 1) Interrupts should be disabled during this call.
     66          *********************************************************************************************************
     67          */
     68          #if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203

   \                                 In segment CODE, align 4, keep-with-next
     69          void  OSInitHookEnd (void)
     70          {
     71          }
   \                     OSInitHookEnd:
   \   00000000   7047               BX       LR               ;; return
     72          #endif
     73          
     74          /*
     75          *********************************************************************************************************
     76          *                                          TASK CREATION HOOK
     77          *
     78          * Description: This function is called when a task is created.
     79          *
     80          * Arguments  : ptcb   is a pointer to the task control block of the task being created.
     81          *
     82          * Note(s)    : 1) Interrupts are disabled during this call.
     83          *********************************************************************************************************
     84          */
     85          #if OS_CPU_HOOKS_EN > 0

   \                                 In segment CODE, align 4, keep-with-next
     86          void  OSTaskCreateHook (OS_TCB *ptcb)
     87          {
   \                     OSTaskCreateHook:
   \   00000000   00B5               PUSH     {LR}
     88          #if OS_APP_HOOKS_EN > 0
     89              App_TaskCreateHook(ptcb);
   \   00000002   ........           _BLF     App_TaskCreateHook,??App_TaskCreateHook??rT
     90          #else
     91              (void)ptcb;                                                         /* Prevent compiler warning                                 */
     92          #endif
     93          }
   \   00000006   00BD               POP      {PC}             ;; return
     94          #endif
     95          
     96          
     97          /*
     98          *********************************************************************************************************
     99          *                                           TASK DELETION HOOK
    100          *
    101          * Description: This function is called when a task is deleted.
    102          *
    103          * Arguments  : ptcb   is a pointer to the task control block of the task being deleted.
    104          *
    105          * Note(s)    : 1) Interrupts are disabled during this call.
    106          *********************************************************************************************************
    107          */
    108          #if OS_CPU_HOOKS_EN > 0

   \                                 In segment CODE, align 4, keep-with-next
    109          void  OSTaskDelHook (OS_TCB *ptcb)
    110          {
   \                     OSTaskDelHook:
   \   00000000   00B5               PUSH     {LR}
    111          #if OS_APP_HOOKS_EN > 0
    112              App_TaskDelHook(ptcb);
   \   00000002   ........           _BLF     App_TaskDelHook,??App_TaskDelHook??rT
    113          #else
    114              (void)ptcb;                                                         /* Prevent compiler warning                                 */
    115          #endif
    116          }
   \   00000006   00BD               POP      {PC}             ;; return
    117          #endif
    118          
    119          /*
    120          *********************************************************************************************************
    121          *                                             IDLE TASK HOOK
    122          *
    123          * Description: This function is called by the idle task.  This hook has been added to allow you to do
    124          *              such things as STOP the CPU to conserve power.
    125          *
    126          * Arguments  : none
    127          *
    128          * Note(s)    : 1) Interrupts are enabled during this call.
    129          *********************************************************************************************************
    130          */
    131          #if OS_CPU_HOOKS_EN > 0 && OS_VERSION >= 251

   \                                 In segment CODE, align 4, keep-with-next
    132          void  OSTaskIdleHook (void)
    133          {
   \                     OSTaskIdleHook:
   \   00000000   00B5               PUSH     {LR}
    134          #if OS_APP_HOOKS_EN > 0
    135              App_TaskIdleHook();
   \   00000002   ........           _BLF     App_TaskIdleHook,??App_TaskIdleHook??rT
    136          #endif
    137          }
   \   00000006   00BD               POP      {PC}             ;; return
    138          #endif
    139          
    140          /*
    141          *********************************************************************************************************
    142          *                                           STATISTIC TASK HOOK
    143          *
    144          * Description: This function is called every second by uC/OS-II's statistics task.  This allows your
    145          *              application to add functionality to the statistics task.
    146          *
    147          * Arguments  : none
    148          *********************************************************************************************************
    149          */
    150          
    151          #if OS_CPU_HOOKS_EN > 0

   \                                 In segment CODE, align 4, keep-with-next
    152          void  OSTaskStatHook (void)
    153          {
   \                     OSTaskStatHook:
   \   00000000   00B5               PUSH     {LR}
    154          #if OS_APP_HOOKS_EN > 0
    155              App_TaskStatHook();
   \   00000002   ........           _BLF     App_TaskStatHook,??App_TaskStatHook??rT
    156          #endif
    157          }
   \   00000006   00BD               POP      {PC}             ;; return
    158          #endif
    159          
    160          /*
    161          *********************************************************************************************************
    162          *                                        INITIALIZE A TASK'S STACK

⌨️ 快捷键说明

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