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

📄 app.lst

📁 编译环境是 iar EWARM ,STM32 下的UCOSII
💻 LST
📖 第 1 页 / 共 5 页
字号:
    250              }
    251          }
    252          
    253          
    254          
    255          /*
    256          *********************************************************************************************************
    257          *                                             App_EventCreate()
    258          *
    259          * Description : Create the application events.
    260          *
    261          * Argument(s) : none.
    262          *
    263          * Return(s)   : none.
    264          *
    265          * Caller(s)   : App_TaskStart().
    266          *
    267          * Note(s)     : none.
    268          *********************************************************************************************************
    269          */
    270          

   \                                 In segment CODE, align 4, keep-with-next
    271          static  void  App_EventCreate (void)
    272          {
   \                     App_EventCreate:
   \   00000000   11B5               PUSH     {R0,R4,LR}
    273          #if (OS_EVENT_NAME_SIZE > 12)
    274              CPU_INT08U  os_err;
    275          #endif
    276          
    277          
    278              App_UserIFMbox = OSMboxCreate((void *)0);                   /* Create MBOX for communication between Kbd and UserIF.*/
   \   00000002   ....               LDR.N    R4,??DataTable2  ;; App_UserIFMbox
   \   00000004   0020               MOVS     R0,#+0
   \   00000006   ........           _BLF     OSMboxCreate,??OSMboxCreate??rT
   \   0000000A   2060               STR      R0,[R4, #+0]
    279          #if (OS_EVENT_NAME_SIZE > 12)
    280              OSEventNameSet(App_UserIFMbox, "User IF Mbox", &os_err);
   \   0000000C   6A46               MOV      R2,SP
   \   0000000E   0249               LDR.N    R1,??App_EventCreate_0  ;; `?<Constant "User IF Mbox">`
   \   00000010   ........           _BLF     OSEventNameSet,??OSEventNameSet??rT
    281          #endif
    282          }
   \   00000014   11BD               POP      {R0,R4,PC}       ;; return
   \   00000016   00BF               Nop      
   \                     ??App_EventCreate_0:
   \   00000018   ........           DC32     `?<Constant "User IF Mbox">`
    283          
    284          
    285          /*
    286          *********************************************************************************************************
    287          *                                            App_TaskCreate()
    288          *
    289          * Description : Create the application tasks.
    290          *
    291          * Argument(s) : none.
    292          *
    293          * Return(s)   : none.
    294          *
    295          * Caller(s)   : App_TaskStart().
    296          *
    297          * Note(s)     : none.
    298          *********************************************************************************************************
    299          */
    300          

   \                                 In segment CODE, align 4, keep-with-next
    301          static  void  App_TaskCreate (void)
    302          {
   \                     App_TaskCreate:
   \   00000000   31B5               PUSH     {R0,R4,R5,LR}
    303              CPU_INT08U  os_err;
    304          
    305          
    306              os_err = OSTaskCreateExt((void (*)(void *)) App_TaskUserIF,
    307                                       (void          * ) 0,
    308                                       (OS_STK        * )&App_TaskUserIFStk[APP_TASK_USER_IF_STK_SIZE - 1],
    309                                       (INT8U           ) APP_TASK_USER_IF_PRIO,
    310                                       (INT16U          ) APP_TASK_USER_IF_PRIO,
    311                                       (OS_STK        * )&App_TaskUserIFStk[0],
    312                                       (INT32U          ) APP_TASK_USER_IF_STK_SIZE,
    313                                       (void          * ) 0,
    314                                       (INT16U          )(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK));
   \   00000002   184C               LDR.N    R4,??App_TaskCreate_0  ;; App_TaskUserIFStk
   \   00000004   0323               MOVS     R3,#+3
   \   00000006   0022               MOVS     R2,#+0
   \   00000008   5FF48071           MOVS     R1,#+256
   \   0000000C   2000               MOVS     R0,R4
   \   0000000E   0FB4               PUSH     {R0-R3}
   \   00000010   0C20               MOVS     R0,#+12
   \   00000012   01B4               PUSH     {R0}
   \   00000014   0346               MOV      R3,R0
   \   00000016   04F2FC32           ADDW     R2,R4,#+1020
   \   0000001A   0021               MOVS     R1,#+0
   \   0000001C   1248               LDR.N    R0,??App_TaskCreate_0+0x4  ;; App_TaskUserIF
   \   0000001E   ........           _BLF     OSTaskCreateExt,??OSTaskCreateExt??rT
   \   00000022   8DF81400           STRB     R0,[SP, #+20]
    315          
    316          #if (OS_TASK_NAME_SIZE >= 9)
    317              OSTaskNameSet(APP_TASK_USER_IF_PRIO, "User I/F", &os_err);
   \   00000026   114D               LDR.N    R5,??App_TaskCreate_0+0x8  ;; `?<Constant "User I/F">`
   \   00000028   05AA               ADD      R2,SP,#+20
   \   0000002A   2900               MOVS     R1,R5
   \   0000002C   0C20               MOVS     R0,#+12
   \   0000002E   ........           _BLF     OSTaskNameSet,??OSTaskNameSet??rT
    318          #endif
    319          
    320              os_err = OSTaskCreateExt((void (*)(void *)) App_TaskKbd,
    321                                       (void          * ) 0,
    322                                       (OS_STK        * )&App_TaskKbdStk[APP_TASK_KBD_STK_SIZE - 1],
    323                                       (INT8U           ) APP_TASK_KBD_PRIO,
    324                                       (INT16U          ) APP_TASK_KBD_PRIO,
    325                                       (OS_STK        * )&App_TaskKbdStk[0],
    326                                       (INT32U          ) APP_TASK_KBD_STK_SIZE,
    327                                       (void          * ) 0,
    328                                       (INT16U          )(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK));
   \   00000032   0323               MOVS     R3,#+3
   \   00000034   0022               MOVS     R2,#+0
   \   00000036   8021               MOVS     R1,#+128
   \   00000038   14F58060           ADDS     R0,R4,#+1024
   \   0000003C   0FB4               PUSH     {R0-R3}
   \   0000003E   0420               MOVS     R0,#+4
   \   00000040   01B4               PUSH     {R0}
   \   00000042   0346               MOV      R3,R0
   \   00000044   04F2FC52           ADDW     R2,R4,#+1532
   \   00000048   0021               MOVS     R1,#+0
   \   0000004A   0948               LDR.N    R0,??App_TaskCreate_0+0xC  ;; App_TaskKbd
   \   0000004C   ........           _BLF     OSTaskCreateExt,??OSTaskCreateExt??rT
   \   00000050   0AB0               ADD      SP,SP,#+40
   \   00000052   8DF80000           STRB     R0,[SP, #+0]
    329          
    330          #if (OS_TASK_NAME_SIZE >= 9)
    331              OSTaskNameSet(APP_TASK_KBD_PRIO, "Keyboard", &os_err);
   \   00000056   6A46               MOV      R2,SP
   \   00000058   0C35               ADDS     R5,R5,#+12
   \   0000005A   2900               MOVS     R1,R5
   \   0000005C   0420               MOVS     R0,#+4
   \   0000005E   ........           _BLF     OSTaskNameSet,??OSTaskNameSet??rT
    332          #endif
    333          }
   \   00000062   31BD               POP      {R0,R4,R5,PC}    ;; return
   \                     ??App_TaskCreate_0:
   \   00000064   ........           DC32     App_TaskUserIFStk
   \   00000068   ........           DC32     App_TaskUserIF
   \   0000006C   ........           DC32     `?<Constant "User I/F">`
   \   00000070   ........           DC32     App_TaskKbd
    334          
    335          
    336          /*
    337          *********************************************************************************************************
    338          *                                            App_TaskKbd()
    339          *
    340          * Description : Monitor the state of the push buttons and passes messages to AppTaskUserIF()
    341          *
    342          * Argument(s) : p_arg       Argument passed to 'App_TaskKbd()' by 'OSTaskCreate()'.
    343          *
    344          * Return(s)   : none.
    345          *
    346          * Caller(s)   : This is a task.
    347          *
    348          * Note(s)     : none.
    349          *********************************************************************************************************
    350          */
    351          

   \                                 In segment CODE, align 4, keep-with-next
    352          static  void  App_TaskKbd (void *p_arg)
    353          {
   \                     App_TaskKbd:
   \   00000000   F0B5               PUSH     {R4-R7,LR}
    354              CPU_BOOLEAN  b1_prev;
    355              CPU_BOOLEAN  b1;
    356              CPU_INT08U   key;
    357          
    358          
    359              (void)p_arg;
    360          
    361              b1_prev = DEF_FALSE;
   \   00000002   0027               MOVS     R7,#+0
    362              key     = 1;
   \   00000004   0124               MOVS     R4,#+1
   \   00000006   2600               MOVS     R6,R4
   \   00000008   0DE0               B.N      ??App_TaskKbd_0
    363          
    364              while (DEF_TRUE) {
    365                  b1 = BSP_PB_GetStatus(1);
    366          
    367                  if ((b1 == DEF_TRUE) && (b1_prev == DEF_FALSE)) {
    368                      if (key == 2) {
    369                          key = 1;
    370                      } else {
    371                          key++;
   \                     ??App_TaskKbd_1:
   \   0000000A   761C               ADDS     R6,R6,#+1
   \   0000000C   F6B2               UXTB     R6,R6
    372                      }
    373          
    374                      OSMboxPost(App_UserIFMbox, (void *)key);
   \                     ??App_TaskKbd_2:
   \   0000000E   3100               MOVS     R1,R6
   \   00000010   ....               LDR.N    R0,??DataTable2  ;; App_UserIFMbox
   \   00000012   0068               LDR      R0,[R0, #+0]
   \   00000014   ........           _BLF     OSMboxPost,??OSMboxPost??rT
    375                  }
    376          
    377                  b1_prev = b1;
   \                     ??App_TaskKbd_3:
   \   00000018   2F00               MOVS     R7,R5
    378          
    379                  OSTimeDlyHMSM(0, 0, 0, 20);
   \   0000001A   1423               MOVS     R3,#+20
   \   0000001C   0022               MOVS     R2,#+0
   \   0000001E   1146               MOV      R1,R2
   \   00000020   0846               MOV      R0,R1
   \   00000022   ........           _BLF     OSTimeDlyHMSM,??OSTimeDlyHMSM??rT
   \                     ??App_TaskKbd_0:
   \   00000026   2046               MOV      R0,R4
   \   00000028   ........           _BLF     BSP_PB_GetStatus,??BSP_PB_GetStatus??rT
   \   0000002C   0500               MOVS     R5,R0
   \   0000002E   0128               CMP      R0,#+1
   \   00000030   F2D1               BNE.N    ??App_TaskKbd_3
   \   00000032   002F               CMP      R7,#+0
   \   00000034   F0D1               BNE.N    ??App_TaskKbd_3
   \   00000036   3000               MOVS     R0,R6
   \   00000038   0228               CMP      R0,#+2
   \   0000003A   E6D1               BNE.N    ??App_TaskKbd_1
   \   0000003C   2600               MOVS     R6,R4
   \   0000003E   E6E7               B.N      ??App_TaskKbd_2
    380              }
    381          }
    382          
    383          
    384          /*
    385          *********************************************************************************************************
    386          *                                            App_TaskUserIF()
    387          *
    388          * Description : Updates LCD.

⌨️ 快捷键说明

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