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

📄 os_viewc.lst

📁 lpc2478开发板基于IAR编译器移植ucos实验例程
💻 LST
📖 第 1 页 / 共 3 页
字号:
    273                           break;
    274          
    275                      case  2:                                                    /* Transmitted character?                                   */
    276                           OSView_TxHandler();
    277                           break;
    278          
    279                      case  4:                                                    /* Received a character?                                    */
    280                           lsr     = U0LSR;
    281                           rx_data = U0RBR;
    282                           OSView_RxHandler(rx_data);                             /* Call the generic Rx handler                              */
    283                           break;
    284          
    285                      case  6:                                                    /* Receive Line Status interrupt?                           */
    286                           break;
    287          
    288                      case 12:                                                    /* CTI interrupt?                                           */
    289                           break;
    290                  }
    291                  iir = U0IIR & 0x0F;
    292              }
    293          #endif
    294          
    295          #if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
    296              iir = U1IIR & 0x0F;
   \   00000008   8E12A0E3           MOV      R1,#-536870904
   \   0000000C   401B81E3           ORR      R1,R1,#0x10000
   \   00000010   001091E5           LDR      R1,[R1, #+0]
   \   00000014   0F1011E2           ANDS     R1,R1,#0xF
   \   00000018   0010CDE5           STRB     R1,[SP, #+0]
    297              while (iir != 1) {
   \                     ??OSView_RxTxISRHandler_0:
   \   0000001C   0000DDE5           LDRB     R0,[SP, #+0]
   \   00000020   010050E3           CMP      R0,#+1
   \   00000024   1600000A           BEQ      ??OSView_RxTxISRHandler_1
    298                  switch (iir) {
   \   00000028   0000DDE5           LDRB     R0,[SP, #+0]
   \   0000002C   020050E3           CMP      R0,#+2
   \   00000030   0200000A           BEQ      ??OSView_RxTxISRHandler_2
   \   00000034   040050E3           CMP      R0,#+4
   \   00000038   0200000A           BEQ      ??OSView_RxTxISRHandler_3
   \   0000003C   0A0000EA           B        ??OSView_RxTxISRHandler_4
    299                      case  0:                                                    /* Modem interrupt?                                         */
    300                           break;
    301          
    302                      case  2:                                                    /* Transmitted character?                                   */
    303                           OSView_TxHandler();
   \                     ??OSView_RxTxISRHandler_2:
   \   00000040   ........           _BLF     OSView_TxHandler,??OSView_TxHandler??rA
   \   00000044   080000EA           B        ??OSView_RxTxISRHandler_4
    304                           break;
    305          
    306                      case  4:                                                    /* Received a character?                                    */
    307                           lsr     = U1LSR;
   \                     ??OSView_RxTxISRHandler_3:
   \   00000048   3C109FE5           LDR      R1,??OSView_RxTxISRHandler_5  ;; 0xffffffffe0010014
   \   0000004C   0010D1E5           LDRB     R1,[R1, #+0]
   \   00000050   0210CDE5           STRB     R1,[SP, #+2]
    308                           rx_data = U1RBR;
   \   00000054   E014A0E3           MOV      R1,#-536870912
   \   00000058   401B81E3           ORR      R1,R1,#0x10000
   \   0000005C   0010D1E5           LDRB     R1,[R1, #+0]
   \   00000060   0110CDE5           STRB     R1,[SP, #+1]
    309                           OSView_RxHandler(rx_data);                             /* Call the generic Rx handler                              */
   \   00000064   0100DDE5           LDRB     R0,[SP, #+1]
   \   00000068   ........           _BLF     OSView_RxHandler,??OSView_RxHandler??rA
    310                           break;
    311          
    312                      case  6:                                                    /* Receive Line Status interrupt?                           */
    313                           break;
    314          
    315                      case 12:                                                    /* CTI interrupt?                                           */
    316                           break;
    317                  }
    318                  iir = U1IIR & 0x0F;
   \                     ??OSView_RxTxISRHandler_4:
   \   0000006C   8E12A0E3           MOV      R1,#-536870904
   \   00000070   401B81E3           ORR      R1,R1,#0x10000
   \   00000074   001091E5           LDR      R1,[R1, #+0]
   \   00000078   0F1011E2           ANDS     R1,R1,#0xF
   \   0000007C   0010CDE5           STRB     R1,[SP, #+0]
   \   00000080   E5FFFFEA           B        ??OSView_RxTxISRHandler_0
    319              }
    320          #endif
    321          }
   \                     ??OSView_RxTxISRHandler_1:
   \   00000084   04D08DE2           ADD      SP,SP,#+4        ;; stack cleaning
   \   00000088   0080BDE8           POP      {PC}             ;; return
   \                     ??OSView_RxTxISRHandler_5:
   \   0000008C   140001E0           DC32     0xffffffffe0010014
    322          
    323          
    324          /*
    325          *********************************************************************************************************
    326          *                                      Communication for uC/OS-View
    327          *
    328          * Description: Send 1 character to COM Port
    329          *
    330          * Arguments   : c   is the character to send.
    331          *
    332          * Returns     : none
    333          *********************************************************************************************************
    334          */
    335          

   \                                 In segment CODE, align 4, keep-with-next
    336          void  OSView_Tx1 (INT8U c)
    337          {
    338          #if OS_VIEW_COMM_SEL == OS_VIEW_UART_0
    339              U0THR = c;
    340          #endif
    341          
    342          #if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
    343              U1THR = c;
   \                     OSView_Tx1:
   \   00000000   E014A0E3           MOV      R1,#-536870912
   \   00000004   401B81E3           ORR      R1,R1,#0x10000
   \   00000008   0000C1E5           STRB     R0,[R1, #+0]
    344          #endif
    345          }
   \   0000000C   0EF0A0E1           MOV      PC,LR            ;; return
    346          
    347          /*
    348          *********************************************************************************************************
    349          *                                       Disable & Enable Tx Interrupts
    350          *
    351          * Description: These functions enable and disable the Tx interrupt.
    352          *
    353          * Arguments   : none
    354          *
    355          * Returns     : none
    356          *********************************************************************************************************
    357          */
    358          

   \                                 In segment CODE, align 4, keep-with-next
    359          void  OSView_TxIntDis (void)
    360          {
    361          #if OS_VIEW_COMM_SEL == OS_VIEW_UART_0
    362              U0IER = DEF_BIT_00;
    363          #endif
    364          
    365          #if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
    366              U1IER = DEF_BIT_00;
   \                     OSView_TxIntDis:
   \   00000000   4E02A0E3           MOV      R0,#-536870908
   \   00000004   400B80E3           ORR      R0,R0,#0x10000
   \   00000008   0110A0E3           MOV      R1,#+1
   \   0000000C   001080E5           STR      R1,[R0, #+0]
    367          #endif
    368          }
   \   00000010   0EF0A0E1           MOV      PC,LR            ;; return
    369          

   \                                 In segment CODE, align 4, keep-with-next
    370          void  OSView_TxIntEn (void)
    371          {
    372          #if OS_VIEW_COMM_SEL == OS_VIEW_UART_0
    373              U0IER = DEF_BIT_01 | DEF_BIT_00;
    374          #endif
    375          
    376          #if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
    377              U1IER = DEF_BIT_01 | DEF_BIT_00;
   \                     OSView_TxIntEn:
   \   00000000   4E02A0E3           MOV      R0,#-536870908
   \   00000004   400B80E3           ORR      R0,R0,#0x10000
   \   00000008   0310A0E3           MOV      R1,#+3
   \   0000000C   001080E5           STR      R1,[R0, #+0]
    378          #endif
    379          }
   \   00000010   0EF0A0E1           MOV      PC,LR            ;; return

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "NXP LPC2468 (xx MHz)">`:
   \   00000000   4E5850204C50       DC8 "NXP LPC2468 (xx MHz)"
   \              433234363820
   \              287878204D48
   \              7A2900      
   \   00000015   000000             DC8 0, 0, 0

   Maximum stack usage in bytes:

     Function              CSTACK
     --------              ------
     OSView_Exit               0
     OSView_GetCPUName        12
     OSView_GetIntStkBase      0
     OSView_GetIntStkSize      0
     OSView_InitTarget        36
     OSView_RxISRHandler       0
     OSView_RxIntDis           0
     OSView_RxIntEn            0
     OSView_RxTxISRHandler     8
     OSView_Tx1                0
     OSView_TxISRHandler       0
     OSView_TxIntDis           0
     OSView_TxIntEn            0


   Segment part sizes:

     Function/Label                 Bytes
     --------------                 -----
     VICVectAddr7                      4
     _A_PINSEL7                        4
     U1RBRTHR                          1
     _A_U1IER                          4
     _A_U1FCR                          4
     _A_U1LCR                          1
     _A_U1LSR                          1
     OSView_Exit                       4
     OSView_GetCPUName                96
     OSView_GetIntStkBase              8
     OSView_GetIntStkSize              8
     OSView_InitTarget               252
     OSView_RxIntDis                  20
     OSView_RxIntEn                   20
     OSView_RxISRHandler               4
     OSView_TxISRHandler               4
     OSView_RxTxISRHandler           144
     OSView_Tx1                       16
     OSView_TxIntDis                  20
     OSView_TxIntEn                   20
     ?<Constant "NXP LPC2468 (xx MHz)">
                                      24
      Others                         120

 
 736 bytes in segment CODE
  19 bytes in segment DATA_AN
  24 bytes in segment DATA_C
 
 616 bytes of CODE  memory (+ 120 bytes shared)
  24 bytes of CONST memory
   0 bytes of DATA  memory (+  19 bytes shared)

Errors: none
Warnings: none

⌨️ 快捷键说明

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