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

📄 os_view.lst

📁 IARSOURCECODE是基于LPC2478嵌入式软件IAR EWARM V4.42的应用实例代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00000008   ........           _BLF     OS_CPU_SR_Save,??OS_CPU_SR_Save??rA
   \   0000000C   0040B0E1           MOVS     R4,R0
    346          #if OS_VIEW_TMR_32_BITS > 0
    347              cnts32              = OSView_TmrRd();                      /* Read current counts of the free running counter  */
   \   00000010   ........           _BLF     OSView_TmrRd,??OSView_TmrRd??rA
    348              cnts32_delta        = cnts32 - OSView_TmrCntsPrev;
   \   00000014   ........           LDR      R1,??DataTable16  ;; OSView_TmrCntsPrev
   \   00000018   001091E5           LDR      R1,[R1, #+0]
   \   0000001C   011050E0           SUBS     R1,R0,R1
    349              OSView_TmrCntsPrev  = cnts32;                              /* Save current counts for next time                */
   \   00000020   ........           LDR      R2,??DataTable16  ;; OSView_TmrCntsPrev
   \   00000024   000082E5           STR      R0,[R2, #+0]
    350              OSView_CyclesCtr   += cnts32_delta;
   \   00000028   ........           LDR      R0,??DataTable19  ;; OSView_CyclesCtr
   \   0000002C   ........           LDR      R2,??DataTable19  ;; OSView_CyclesCtr
   \   00000030   002092E5           LDR      R2,[R2, #+0]
   \   00000034   021091E0           ADDS     R1,R1,R2
   \   00000038   001080E5           STR      R1,[R0, #+0]
    351          #else
    352              cnts16              = (INT16U)OSView_TmrRd();              /* Read current counts of the free running counter  */
    353              cnts16_delta        = cnts16 - OSView_TmrCntsPrev;
    354              OSView_TmrCntsPrev  = cnts16;                              /* Save current counts for next time                */
    355              OSView_CyclesCtr   += (INT32U)cnts16_delta;
    356          #endif
    357              cycles              = OSView_CyclesCtr;
   \   0000003C   ........           LDR      R0,??DataTable19  ;; OSView_CyclesCtr
   \   00000040   005090E5           LDR      R5,[R0, #+0]
    358              OS_EXIT_CRITICAL();
   \   00000044   0400B0E1           MOVS     R0,R4
   \   00000048   ........           _BLF     OS_CPU_SR_Restore,??OS_CPU_SR_Restore??rA
    359              return (cycles);
   \   0000004C   0500B0E1           MOVS     R0,R5
   \   00000050   3080BDE8           POP      {R4,R5,PC}       ;; return
    360          }
    361          
    362          /*$PAGE*/
    363          /*
    364          *********************************************************************************************************
    365          *                                       uC/OS-View COMMAND HANDLER
    366          *                                            (Parse Packet)
    367          *********************************************************************************************************
    368          */
    369          

   \                                 In segment CODE, align 4, keep-with-next
    370          static  INT8U  OSView_CmdParsePkt (void)
    371          {
   \                     OSView_CmdParsePkt:
   \   00000000   00402DE9           PUSH     {LR}
    372              INT8U cmd0;
    373          
    374          
    375              cmd0 = OSView_RxGetINT8U();                             /* First byte contains command                     */
   \   00000004   ........           BL       OSView_RxGetINT8U
    376              if (cmd0 == 'C') {
   \   00000008   430050E3           CMP      R0,#+67
   \   0000000C   0500001A           BNE      ??OSView_CmdParsePkt_0
    377                  OSView_CmdSendToApp();
   \   00000010   ........           BL       OSView_CmdSendToApp
    378                  OSView_TxBufCnt = 0;
   \   00000014   ........           LDR      R0,??DataTable95  ;; OSView_TxBufCnt
   \   00000018   0010A0E3           MOV      R1,#+0
   \   0000001C   B010C0E1           STRH     R1,[R0, #+0]
    379                  return (0);
   \   00000020   0000A0E3           MOV      R0,#+0
   \   00000024   400000EA           B        ??OSView_CmdParsePkt_1
    380              }
    381              if (OSView_TxBufCnt > 0) {                              /* Do cmds only if Tx of the last one is done      */
   \                     ??OSView_CmdParsePkt_0:
   \   00000028   ........           LDR      R1,??DataTable95  ;; OSView_TxBufCnt
   \   0000002C   B010D1E1           LDRH     R1,[R1, #+0]
   \   00000030   010051E3           CMP      R1,#+1
   \   00000034   0100003A           BCC      ??OSView_CmdParsePkt_2
    382                  return (0);
   \   00000038   0000A0E3           MOV      R0,#+0
   \   0000003C   3A0000EA           B        ??OSView_CmdParsePkt_1
    383              }
    384              switch (cmd0) {
   \                     ??OSView_CmdParsePkt_2:
   \   00000040   0010B0E1           MOVS     R1,R0
   \   00000044   000051E3           CMP      R1,#+0
   \   00000048   2900000A           BEQ      ??OSView_CmdParsePkt_3
   \   0000004C   310051E3           CMP      R1,#+49
   \   00000050   2A00000A           BEQ      ??OSView_CmdParsePkt_4
   \   00000054   320051E3           CMP      R1,#+50
   \   00000058   2B00000A           BEQ      ??OSView_CmdParsePkt_5
   \   0000005C   340051E3           CMP      R1,#+52
   \   00000060   2C00000A           BEQ      ??OSView_CmdParsePkt_6
   \   00000064   530051E3           CMP      R1,#+83
   \   00000068   1500000A           BEQ      ??OSView_CmdParsePkt_7
   \   0000006C   540051E3           CMP      R1,#+84
   \   00000070   1600000A           BEQ      ??OSView_CmdParsePkt_8
   \   00000074   620051E3           CMP      R1,#+98
   \   00000078   1700000A           BEQ      ??OSView_CmdParsePkt_9
   \   0000007C   6C0051E3           CMP      R1,#+108
   \   00000080   0C00000A           BEQ      ??OSView_CmdParsePkt_10
   \   00000084   730051E3           CMP      R1,#+115
   \   00000088   0400000A           BEQ      ??OSView_CmdParsePkt_11
   \   0000008C   740051E3           CMP      R1,#+116
   \   00000090   0500000A           BEQ      ??OSView_CmdParsePkt_12
   \   00000094   770051E3           CMP      R1,#+119
   \   00000098   1200000A           BEQ      ??OSView_CmdParsePkt_13
   \   0000009C   1F0000EA           B        ??OSView_CmdParsePkt_14
    385                  case 's':
    386                       OSView_TxStoINT8U(cmd0);
   \                     ??OSView_CmdParsePkt_11:
   \   000000A0   ........           BL       OSView_TxStoINT8U
    387                       OSView_CmdGetSysInfo();
   \   000000A4   ........           BL       OSView_CmdGetSysInfo
   \   000000A8   1C0000EA           B        ??OSView_CmdParsePkt_14
    388                       break;
    389          
    390                  case 't':
    391                       OSView_TxStoINT8U(cmd0);
   \                     ??OSView_CmdParsePkt_12:
   \   000000AC   ........           BL       OSView_TxStoINT8U
    392                       OSView_CmdGetTaskInfo();
   \   000000B0   ........           BL       OSView_CmdGetTaskInfo
   \   000000B4   190000EA           B        ??OSView_CmdParsePkt_14
    393                       break;
    394          
    395                  case 'l':
    396                       OSView_TxStoINT8U(cmd0);
   \                     ??OSView_CmdParsePkt_10:
   \   000000B8   ........           BL       OSView_TxStoINT8U
    397                       OSView_CmdGetTaskList();
   \   000000BC   ........           BL       OSView_CmdGetTaskList
   \   000000C0   160000EA           B        ??OSView_CmdParsePkt_14
    398                       break;
    399          
    400                  case 'S':
    401                       OSView_TxStoINT8U(cmd0);
   \                     ??OSView_CmdParsePkt_7:
   \   000000C4   ........           BL       OSView_TxStoINT8U
    402                       OSView_CmdTickStep();
   \   000000C8   ........           BL       OSView_CmdTickStep
   \   000000CC   130000EA           B        ??OSView_CmdParsePkt_14
    403                       break;
    404          
    405                  case 'T':
    406                       OSView_TxStoINT8U(cmd0);
   \                     ??OSView_CmdParsePkt_8:
   \   000000D0   ........           BL       OSView_TxStoINT8U
    407                       OSView_CmdTrace();
   \   000000D4   ........           BL       OSView_CmdTrace
   \   000000D8   100000EA           B        ??OSView_CmdParsePkt_14
    408                       break;
    409          
    410                  case 'b':
    411                       OSView_TxStoINT8U(cmd0);
   \                     ??OSView_CmdParsePkt_9:
   \   000000DC   ........           BL       OSView_TxStoINT8U
    412                       OSView_CmdMemRdINT8U();
   \   000000E0   ........           BL       OSView_CmdMemRdINT8U
   \   000000E4   0D0000EA           B        ??OSView_CmdParsePkt_14
    413                       break;
    414          
    415                  case 'w':
    416                       OSView_TxStoINT8U(cmd0);
   \                     ??OSView_CmdParsePkt_13:
   \   000000E8   ........           BL       OSView_TxStoINT8U
    417                       OSView_CmdMemRdINT16U();
   \   000000EC   ........           BL       OSView_CmdMemRdINT16U
   \   000000F0   0A0000EA           B        ??OSView_CmdParsePkt_14
    418                       break;
    419          
    420                  case 0:
    421                       OSView_TxStoINT8U(cmd0);
   \                     ??OSView_CmdParsePkt_3:
   \   000000F4   ........           BL       OSView_TxStoINT8U
    422                       OSView_CmdMemRdINT32U();
   \   000000F8   ........           BL       OSView_CmdMemRdINT32U
   \   000000FC   070000EA           B        ??OSView_CmdParsePkt_14
    423                       break;
    424          
    425                  case '1':
    426                       OSView_TxStoINT8U(cmd0);
   \                     ??OSView_CmdParsePkt_4:
   \   00000100   ........           BL       OSView_TxStoINT8U
    427                       OSView_CmdMemWrINT8U();
   \   00000104   ........           BL       OSView_CmdMemWrINT8U
   \   00000108   040000EA           B        ??OSView_CmdParsePkt_14
    428                       break;
    429          
    430                  case '2':
    431                       OSView_TxStoINT8U(cmd0);
   \                     ??OSView_CmdParsePkt_5:
   \   0000010C   ........           BL       OSView_TxStoINT8U
    432                       OSView_CmdMemWrINT16U();
   \   00000110   ........           BL       OSView_CmdMemWrINT16U
   \   00000114   010000EA           B        ??OSView_CmdParsePkt_14
    433                       break;
    434          
    435                  case '4':
    436                       OSView_TxStoINT8U(cmd0);
   \                     ??OSView_CmdParsePkt_6:
   \   00000118   ........           BL       OSView_TxStoINT8U
    437                       OSView_CmdMemWrINT32U();
   \   0000011C   ........           BL       OSView_CmdMemWrINT32U
    438                       break;
    439          
    440                  default:
    441                       break;
    442              }
    443              return (OSView_TxBufCnt);
   \                     ??OSView_CmdParsePkt_14:
   \   00000120   ........           LDR      R0,??DataTable95  ;; OSView_TxBufCnt
   \   00000124   B000D0E1           LDRH     R0,[R0, #+0]
   \   00000128   FF0010E2           ANDS     R0,R0,#0xFF      ;; Zero extend
   \                     ??OSView_CmdParsePkt_1:
   \   0000012C   0080BDE8           POP      {PC}             ;; return
    444          }
    445          
    446          /*$PAGE*/
    447          /*
    448          *********************************************************************************************************
    449          *                                       uC/OS-View COMMAND HANDLER
    450          *                                         (Send to Application)
    451          *
    452          * Description: This routine transfers a character to the application.
    453          *********************************************************************************************************
    454          */
    455          

   \                                 In segment CODE, align 4, keep-with-next

⌨️ 快捷键说明

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