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

📄 app.lst

📁 IARSOURCECODE是基于LPC2478嵌入式软件IAR EWARM V4.42的应用实例代码
💻 LST
📖 第 1 页 / 共 3 页
字号:
    231          
    232                  b1      = PB_GetStatus(1);
   \                     ??AppTaskKbd_0:
   \   00000014   0100A0E3           MOV      R0,#+1
   \   00000018   ........           _BLF     PB_GetStatus,??PB_GetStatus??rA
   \   0000001C   0070B0E1           MOVS     R7,R0
    233                  b2      = PB_GetStatus(2);
   \   00000020   0200A0E3           MOV      R0,#+2
   \   00000024   ........           _BLF     PB_GetStatus,??PB_GetStatus??rA
   \   00000028   0080B0E1           MOVS     R8,R0
    234                  b3      = PB_GetStatus(3);
   \   0000002C   0300A0E3           MOV      R0,#+3
   \   00000030   ........           _BLF     PB_GetStatus,??PB_GetStatus??rA
   \   00000034   0090B0E1           MOVS     R9,R0
    235                  b4      = PB_GetStatus(4);
   \   00000038   0400A0E3           MOV      R0,#+4
   \   0000003C   ........           _BLF     PB_GetStatus,??PB_GetStatus??rA
   \   00000040   00A0B0E1           MOVS     R10,R0
    236          
    237                  if (b1 == DEF_TRUE && b1_prev == DEF_FALSE) {
   \   00000044   010057E3           CMP      R7,#+1
   \   00000048   0600001A           BNE      ??AppTaskKbd_1
   \   0000004C   FFB01BE2           ANDS     R11,R11,#0xFF    ;; Zero extend
   \   00000050   00005BE3           CMP      R11,#+0
   \   00000054   0300001A           BNE      ??AppTaskKbd_1
    238          
    239                      OSQPost(AppKbdQ, (CPU_INT32U *)1);
   \   00000058   0110A0E3           MOV      R1,#+1
   \   0000005C   ........           LDR      R0,??DataTable5  ;; AppKbdQ
   \   00000060   000090E5           LDR      R0,[R0, #+0]
   \   00000064   ........           _BLF     OSQPost,??OSQPost??rA
    240                  }
    241          
    242                  if (b2 == DEF_TRUE && b2_prev == DEF_FALSE) {
   \                     ??AppTaskKbd_1:
   \   00000068   010058E3           CMP      R8,#+1
   \   0000006C   0600001A           BNE      ??AppTaskKbd_2
   \   00000070   FF4014E2           ANDS     R4,R4,#0xFF      ;; Zero extend
   \   00000074   000054E3           CMP      R4,#+0
   \   00000078   0300001A           BNE      ??AppTaskKbd_2
    243          
    244                      OSQPost(AppKbdQ, (CPU_INT32U *)2);
   \   0000007C   0210A0E3           MOV      R1,#+2
   \   00000080   ........           LDR      R0,??DataTable5  ;; AppKbdQ
   \   00000084   000090E5           LDR      R0,[R0, #+0]
   \   00000088   ........           _BLF     OSQPost,??OSQPost??rA
    245                  }
    246          
    247                  if (b3 == DEF_TRUE && b3_prev == DEF_FALSE) {
   \                     ??AppTaskKbd_2:
   \   0000008C   010059E3           CMP      R9,#+1
   \   00000090   0600001A           BNE      ??AppTaskKbd_3
   \   00000094   FF5015E2           ANDS     R5,R5,#0xFF      ;; Zero extend
   \   00000098   000055E3           CMP      R5,#+0
   \   0000009C   0300001A           BNE      ??AppTaskKbd_3
    248          
    249                      OSQPost(AppKbdQ, (CPU_INT32U *)3);
   \   000000A0   0310A0E3           MOV      R1,#+3
   \   000000A4   ........           LDR      R0,??DataTable5  ;; AppKbdQ
   \   000000A8   000090E5           LDR      R0,[R0, #+0]
   \   000000AC   ........           _BLF     OSQPost,??OSQPost??rA
    250                  }
    251          
    252                  if (b4 == DEF_TRUE && b4_prev == DEF_FALSE) {
   \                     ??AppTaskKbd_3:
   \   000000B0   01005AE3           CMP      R10,#+1
   \   000000B4   0600001A           BNE      ??AppTaskKbd_4
   \   000000B8   FF6016E2           ANDS     R6,R6,#0xFF      ;; Zero extend
   \   000000BC   000056E3           CMP      R6,#+0
   \   000000C0   0300001A           BNE      ??AppTaskKbd_4
    253          
    254                      OSQPost(AppKbdQ, (CPU_INT32U *)4);
   \   000000C4   0410A0E3           MOV      R1,#+4
   \   000000C8   ........           LDR      R0,??DataTable5  ;; AppKbdQ
   \   000000CC   000090E5           LDR      R0,[R0, #+0]
   \   000000D0   ........           _BLF     OSQPost,??OSQPost??rA
    255                  }
    256          
    257                  b1_prev = b1;
   \                     ??AppTaskKbd_4:
   \   000000D4   07B0B0E1           MOVS     R11,R7
    258                  b2_prev = b2;
   \   000000D8   0840B0E1           MOVS     R4,R8
    259                  b3_prev = b3;
   \   000000DC   0950B0E1           MOVS     R5,R9
    260                  b4_prev = b4;
   \   000000E0   0A60B0E1           MOVS     R6,R10
    261          
    262                  OSTimeDly(OS_TICKS_PER_SEC / 10);
   \   000000E4   6400A0E3           MOV      R0,#+100
   \   000000E8   ........           _BLF     OSTimeDly,??OSTimeDly??rA
   \   000000EC   C8FFFFEA           B        ??AppTaskKbd_0
    263          
    264              }
    265          }
    266          
    267          
    268          /*
    269          *********************************************************************************************************
    270          *                                      CREATE APPLICATION TASKS
    271          *
    272          * Description:  This function creates the application tasks.
    273          *
    274          * Arguments  :  none
    275          *
    276          * Returns    :  none
    277          *********************************************************************************************************
    278          */
    279          

   \                                 In segment CODE, align 4, keep-with-next
    280          static  void  AppTaskCreate (void)
    281          {
   \                     AppTaskCreate:
   \   00000000   00402DE9           PUSH     {LR}
   \   00000004   04D04DE2           SUB      SP,SP,#+4
    282              CPU_INT08U      err;
    283          
    284          
    285              OSTaskCreateExt(AppTaskKbd,
    286                              (void *)0,
    287                              (OS_STK *)&AppTaskKbdStk[APP_TASK_KBD_STK_SIZE - 1],
    288                              APP_TASK_KBD_PRIO,
    289                              APP_TASK_KBD_PRIO,
    290                              (OS_STK *)&AppTaskKbdStk[0],
    291                              APP_TASK_KBD_STK_SIZE,
    292                              (void *)0,
    293                              OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
   \   00000008   0300A0E3           MOV      R0,#+3
   \   0000000C   01002DE9           PUSH     {R0}
   \   00000010   0000A0E3           MOV      R0,#+0
   \   00000014   01002DE9           PUSH     {R0}
   \   00000018   800FA0E3           MOV      R0,#+512
   \   0000001C   01002DE9           PUSH     {R0}
   \   00000020   38009FE5           LDR      R0,??AppTaskCreate_0  ;; AppTaskKbdStk
   \   00000024   01002DE9           PUSH     {R0}
   \   00000028   0200A0E3           MOV      R0,#+2
   \   0000002C   01002DE9           PUSH     {R0}
   \   00000030   0230A0E3           MOV      R3,#+2
   \   00000034   28209FE5           LDR      R2,??AppTaskCreate_0+0x4  ;; AppTaskKbdStk + 2044
   \   00000038   0010A0E3           MOV      R1,#+0
   \   0000003C   24009FE5           LDR      R0,??AppTaskCreate_0+0x8  ;; AppTaskKbd
   \   00000040   ........           _BLF     OSTaskCreateExt,??OSTaskCreateExt??rA
   \   00000044   14D08DE2           ADD      SP,SP,#+20       ;; stack cleaning
    294          
    295          #if OS_TASK_NAME_SIZE > 9
    296              OSTaskNameSet(APP_TASK_KBD_PRIO, "Keyboard", &err);
   \   00000048   0D20B0E1           MOVS     R2,SP
   \   0000004C   18109FE5           LDR      R1,??AppTaskCreate_0+0xC  ;; `?<Constant "Keyboard">`
   \   00000050   0200A0E3           MOV      R0,#+2
   \   00000054   ........           _BLF     OSTaskNameSet,??OSTaskNameSet??rA
    297          #endif
    298          }
   \   00000058   04D08DE2           ADD      SP,SP,#+4        ;; stack cleaning
   \   0000005C   0080BDE8           POP      {PC}             ;; return
   \                     ??AppTaskCreate_0:
   \   00000060   ........           DC32     AppTaskKbdStk
   \   00000064   ........           DC32     AppTaskKbdStk + 2044
   \   00000068   ........           DC32     AppTaskKbd
   \   0000006C   ........           DC32     `?<Constant "Keyboard">`
    299          
    300          /*
    301          *********************************************************************************************************
    302          *                                          uC/OS-VIew Terminal Window Callback
    303          *
    304          * Description : This is the callback function for uC/OS-View
    305          *
    306          * Arguments   : rx_data   is the received data.
    307          *
    308          * Returns     : none
    309          *********************************************************************************************************
    310          */
    311          
    312          #if OS_VIEW_MODULE > 0

   \                                 In segment CODE, align 4, keep-with-next
    313          static  void  AppTerminalRx (CPU_INT08U rx_data)
    314          {
    315          
    316          }
   \                     AppTerminalRx:
   \   00000000   0EF0A0E1           MOV      PC,LR            ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable5:
   \   00000000   ........           DC32     AppKbdQ

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "Start Task">`:
   \   00000000   537461727420       DC8 "Start Task"
   \              5461736B00  
   \   0000000B   00                 DC8 0

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "Keyboard">`:
   \   00000000   4B6579626F61       DC8 "Keyboard"
   \              726400      
   \   00000009   000000             DC8 0, 0, 0
    317          #endif

   Maximum stack usage in bytes:

     Function      CSTACK
     --------      ------
     AppTaskCreate    28
     AppTaskKbd       36
     AppTaskStart     20
     AppTerminalRx     0
     main             28


   Segment part sizes:

     Function/Label           Bytes
     --------------           -----
     AppTaskStartStk          2048
     AppTaskKbdStk            2048
     AppKbdQStorage             64
     AppKbdQ                     4
     main                      124
     AppTaskStart              500
     AppTaskKbd                240
     AppTaskCreate             112
     AppTerminalRx               4
     ??DataTable5                4
     ?<Constant "Start Task">   12
     ?<Constant "Keyboard">     12
      Others                   264

 
 1 236 bytes in segment CODE
    24 bytes in segment DATA_C
 4 164 bytes in segment DATA_Z
    12 bytes in segment INITTAB
 
   984 bytes of CODE  memory (+ 264 bytes shared)
    24 bytes of CONST memory
 4 164 bytes of DATA  memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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