main.lst

来自「ARM仿真案例」· LST 代码 · 共 171 行

LST
171
字号
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.40A/W32 EVALUATION    21/Jul/2006  17:04:02 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
# Time limited license: 22 days left                                         #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\Project\ucos-ii\leddisp\App\main.C                #
#    Command line    =  E:\Project\ucos-ii\leddisp\App\main.C -lCN           #
#                       E:\Project\ucos-ii\leddisp\Debug\List\ -lA           #
#                       E:\Project\ucos-ii\leddisp\Debug\List\ -o            #
#                       E:\Project\ucos-ii\leddisp\Debug\Obj\ -s9 --no_cse   #
#                       --no_unroll --no_inline --no_code_motion --no_tbaa   #
#                       --no_clustering --no_scheduling --debug --cpu_mode   #
#                       thumb --endian little --cpu ARM7TDMI-S               #
#                       --stack_align 4 --interwork -e --fpu None            #
#                       --dlib_config "e:\Program Files\IAR                  #
#                       Systems\Embedded Workbench 4.0                       #
#                       Evaluation\ARM\LIB\dl4tptinl8n.h" -I                 #
#                       E:\Project\ucos-ii\leddisp\ -I                       #
#                       E:\Project\ucos-ii\leddisp\App\ -I                   #
#                       E:\Project\ucos-ii\leddisp\ARM\ -I                   #
#                       E:\Project\ucos-ii\leddisp\BSP\ -I                   #
#                       E:\Project\ucos-ii\leddisp\uCOS-II\ -I "e:\Program   #
#                       Files\IAR Systems\Embedded Workbench 4.0             #
#                       Evaluation\ARM\INC\"                                 #
#    List file       =  E:\Project\ucos-ii\leddisp\Debug\List\main.lst       #
#    Object file     =  E:\Project\ucos-ii\leddisp\Debug\Obj\main.r79        #
#                                                                            #
#                                                                            #
##############################################################################

E:\Project\ucos-ii\leddisp\App\main.C
      1          
      2          /********************************************************************************************************/
      3          
      4          #include <includes.h>
      5          
      6          #define  TASK_STK_SIZE                  64

   \                                 In segment DATA_Z, align 4, align-sorted
      7          OS_STK        Main_TaskStk[TASK_STK_SIZE];
   \                     Main_TaskStk:
   \   00000000                      DS8 256
      8          void  Main_Task(void *data);
      9          /*******************************************************************************
     10          * 函数名称: main
     11          * 功能描述: c语言的主函数,由它启动多任务环境
     12          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     13          int main (void)
     14          {
   \                     main:
   \   00000000   00B5               PUSH     {LR}
     15              OSInit();
   \   00000002   ........           _BLF     OSInit,??OSInit??rT
     16              OSTaskCreate(Main_Task, (void *)0, &Main_TaskStk[TASK_STK_SIZE - 1], 0);
   \   00000006   0023               MOVS     R3,#+0
   \   00000008   044A               LDR      R2,??main_0      ;; Main_TaskStk + 252
   \   0000000A   0021               MOVS     R1,#+0
   \   0000000C   0448               LDR      R0,??main_0+0x4  ;; Main_Task
   \   0000000E   ........           _BLF     OSTaskCreate,??OSTaskCreate??rT
     17              OSStart();
   \   00000012   ........           _BLF     OSStart,??OSStart??rT
     18          }
   \   00000016   0020               MOVS     R0,#+0
   \   00000018   02BC               POP      {R1}
   \   0000001A   0847               BX       R1               ;; return
   \                     ??main_0:
   \   0000001C   ........           DC32     Main_TaskStk + 252
   \   00000020   ........           DC32     Main_Task
     19          /*******************************************************************************
     20          * 函数名称: Main_Task
     21          * 功能描述: μCOS-II的第一个任务,通常由它初始化目标板和建立其它任务
     22          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     23            void  Main_Task(void *p_arg)
     24          {   int i;
   \                     Main_Task:
   \   00000000   10B5               PUSH     {R4,LR}
     25              p_arg = p_arg;            /* 避免编译警告 */
     26              BSP_Init(); 
   \   00000002   ........           _BLF     BSP_Init,??BSP_Init??rT
     27              LED_Off(0);
   \   00000006   0020               MOVS     R0,#+0
   \   00000008   ........           _BLF     LED_Off,??LED_Off??rT
     28              while (TRUE){        
     29                  for (i = 1; i <= 16; i++) {
   \                     ??Main_Task_0:
   \   0000000C   0124               MOVS     R4,#+1
     30                      LED_On(i);
   \                     ??Main_Task_1:
   \   0000000E   2006               LSLS     R0,R4,#+24
   \   00000010   000E               LSRS     R0,R0,#+24
   \   00000012   ........           _BLF     LED_On,??LED_On??rT
     31                      OSTimeDlyHMSM(0, 0, 0, 50);
   \   00000016   3223               MOVS     R3,#+50
   \   00000018   0022               MOVS     R2,#+0
   \   0000001A   0021               MOVS     R1,#+0
   \   0000001C   0800               MOVS     R0,R1
   \   0000001E   ........           _BLF     OSTimeDlyHMSM,??OSTimeDlyHMSM??rT
     32                      LED_Off(i);
   \   00000022   2006               LSLS     R0,R4,#+24
   \   00000024   000E               LSRS     R0,R0,#+24
   \   00000026   ........           _BLF     LED_Off,??LED_Off??rT
     33                  }
   \   0000002A   641C               ADDS     R4,R4,#+1
   \   0000002C   112C               CMP      R4,#+17
   \   0000002E   EEDB               BLT      ??Main_Task_1
     34                  for (i = 1; i <= 16; i++) {
   \   00000030   0124               MOVS     R4,#+1
     35                      LED_On(17 - i);
   \                     ??Main_Task_2:
   \   00000032   1120               MOVS     R0,#+17
   \   00000034   001B               SUBS     R0,R0,R4
   \   00000036   0006               LSLS     R0,R0,#+24
   \   00000038   000E               LSRS     R0,R0,#+24
   \   0000003A   ........           _BLF     LED_On,??LED_On??rT
     36                      OSTimeDlyHMSM(0, 0, 0, 50);
   \   0000003E   3223               MOVS     R3,#+50
   \   00000040   0022               MOVS     R2,#+0
   \   00000042   0021               MOVS     R1,#+0
   \   00000044   0800               MOVS     R0,R1
   \   00000046   ........           _BLF     OSTimeDlyHMSM,??OSTimeDlyHMSM??rT
     37                      LED_Off(17 - i);
   \   0000004A   1120               MOVS     R0,#+17
   \   0000004C   001B               SUBS     R0,R0,R4
   \   0000004E   0006               LSLS     R0,R0,#+24
   \   00000050   000E               LSRS     R0,R0,#+24
   \   00000052   ........           _BLF     LED_Off,??LED_Off??rT
     38                  }
   \   00000056   641C               ADDS     R4,R4,#+1
   \   00000058   112C               CMP      R4,#+17
   \   0000005A   D7DA               BGE      ??Main_Task_0
   \   0000005C   E9E7               B        ??Main_Task_2
     39              }  
     40          } 
     41          /**********************************End Of File***********************************/

   Maximum stack usage in bytes:

     Function  CSTACK
     --------  ------
     Main_Task     8
     main          4


   Segment part sizes:

     Function/Label Bytes
     -------------- -----
     Main_TaskStk    256
     main             36
     Main_Task        94
      Others         100

 
 218 bytes in segment CODE
 256 bytes in segment DATA_Z
  12 bytes in segment INITTAB
 
 130 bytes of CODE memory (+ 100 bytes shared)
 256 bytes of DATA memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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