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

📄 demo.lst

📁 针对飞利浦LPC214x的虚拟串口程序
💻 LST
字号:
ARM COMPILER V2.53,  demo                                                                  09/06/07  15:42:24  PAGE 1   


ARM COMPILER V2.53, COMPILATION OF MODULE demo
OBJECT MODULE PLACED IN .\Obj\demo.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe demo.c THUMB BROWSE DEFINE(MCB2140) DEBUG PRINT(.\LST\DEMO.LST) TABS(4) OBJE
                    -CT(.\Obj\demo.obj) 

stmt  level    source

    1          /*----------------------------------------------------------------------------
    2          *      U S B  -  K e r n e l
    3          *----------------------------------------------------------------------------
    4          *      Name:    DEMO.C
    5          *      Purpose: Main C entry file for Philips LPC214x
    6          *      Version: V1.04
    7          *----------------------------------------------------------------------------
    8          *      This software is supplied "AS IS" without any warranties, express, 
    9          *      implied or statutory, including but not limited to the implied 
   10          *      warranties of fitness for purpose, satisfactory quality and 
   11          *      noninfringement. Keil extends you a royalty-free right to reproduce and
   12          *      distribute executable files created using this software for use on 
   13          *      Philips LPC2xxx microcontroller devices only. Nothing else gives you the 
   14          *      right to use this software. 
   15          *
   16          *      Copyright (c) 2005 Keil Software.
   17          *       Modified by Philips Semiconductor
   18          *---------------------------------------------------------------------------*/
   19          #include <LPC214x.h>                        /* LPC214x definitions */
   20          
   21          #include "type.h"
   22          #include "usb.h"
   23          #include "usbcfg.h"
   24          #include "usbhw.h"
   25          #include "usbcore.h"
   26          #include "vcomuser.h"
   27          #include "demo.h"
   28          
   29          extern BYTE ReportStatus0, ReportStatus1;
   30          extern BYTE Data2Host0, Data2Host1;
   31          
   32          BYTE Modem0Status, Modem1Status;
   33          
   34          #include "uart.h"
   35          
   36          /* Main Program */
   37          int main (void) {
   38   1          
   39   1          BYTE i = 0;
   40   1          
   41   1          IODIR1 = LED1 | LED2 | LED3 |             /* LED1, LED5..8 are Outputs */
   42   1              LED4 | LED5 | LED6 |
   43   1              LED7 | LED8;
   44   1      
   45   1          InitUart(); 
   46   1      //  init_serial();
   47   1          USB_Init();                               /* USB Initialization */
   48   1          USB_Connect(TRUE);                        /* USB Connect */
   49   1          
   50   1          while (1)                                /* Loop forever */
   51   1          {
   52   2      #if USB_VCOM
   53   2              if ( Data2Host0 || Data2Host1 ) {
   54   3                  UartDataToHost(0);
   55   3                  UartDataToHost(1);
   56   3              }
   57   2      #if 0
                       /* EP3 is used to report UART0 status, and EP9
ARM COMPILER V2.53,  demo                                                                  09/06/07  15:42:24  PAGE 2   

                       is used to report UART1 status respectively */
                       if ( ReportStatus0 ) {
                           ReportStatus0 = 0;
                           /* For Interrupt IN on EP3 */
                           USB_WriteEP( 3 | 0x80, &Modem0Status, sizeof(Modem0Status) );
                       }
                       if ( ReportStatus1 ) {
                           ReportStatus1 = 0;
                           /* For Interrupt IN on EP9 */
                           USB_WriteEP( 9 | 0x80, &Modem1Status, sizeof(Modem1Status) );
                       }
               #endif
   71   2      #endif
   72   2          }                                              
   73   1      }
ARM COMPILER V2.53,  demo                                                                  09/06/07  15:42:24  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (USB_Init?T)
 EXTERN CODE16 (USB_Connect?T)
 EXTERN DATA (Data2Host0)
 EXTERN DATA (Data2Host1)
 EXTERN CODE16 (UartDataToHost?T)
 EXTERN CODE16 (InitUart?T)
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         main
 PUBLIC         Modem0Status
 PUBLIC         Modem1Status



*** DATA SEGMENT '?DT0?demo':
 00000000          Modem0Status:
 00000000            DS          1
 00000001          Modem1Status:
 00000001            DS          1



*** CODE SEGMENT '?PR?main?demo':
   37: int main (void) {
 00000000  B500      PUSH        {LR}
 00000002            ; SCOPE-START
   41:     IODIR1 = LED1 | LED2 | LED3 |             /* LED1, LED5..8 are Outputs */
 00000002  4800      LDR         R1,=0xFF0000
 00000004  4800      LDR         R0,=0xE0028018
 00000006  6001      STR         R1,[R0,#0x0]
   45:     InitUart(); 
 00000008  F7FF      BL          InitUart?T  ; T=0x0001  (1)
 0000000A  FFFA      BL          InitUart?T  ; T=0x0001  (2)
   47:     USB_Init();                               /* USB Initialization */
 0000000C  F7FF      BL          USB_Init?T  ; T=0x0001  (1)
 0000000E  FFF8      BL          USB_Init?T  ; T=0x0001  (2)
   48:     USB_Connect(TRUE);                        /* USB Connect */
 00000010  2001      MOV         R0,#0x1
 00000012  F7FF      BL          USB_Connect?T  ; T=0x0001  (1)
 00000014  FFF5      BL          USB_Connect?T  ; T=0x0001  (2)
   50:     while (1)                                /* Loop forever */
 00000016          L_3:
   53:         if ( Data2Host0 || Data2Host1 ) {
 00000016  4800      LDR         R0,=Data2Host0 ; Data2Host0
 00000018  7800      LDRB        R0,[R0,#0x0] ; Data2Host0
 0000001A  2800      CMP         R0,#0x0
 0000001C  D103      BNE         L_6  ; T=0x00000026
 0000001E  4800      LDR         R0,=Data2Host1 ; Data2Host1
 00000020  7800      LDRB        R0,[R0,#0x0] ; Data2Host1
 00000022  2800      CMP         R0,#0x0
 00000024  D0F7      BEQ         L_3  ; T=0x00000016
 00000026          L_6:
   54:             UartDataToHost(0);
 00000026  2000      MOV         R0,#0x0
 00000028  F7FF      BL          UartDataToHost?T  ; T=0x0001  (1)
 0000002A  FFEA      BL          UartDataToHost?T  ; T=0x0001  (2)
   55:             UartDataToHost(1);
 0000002C  2001      MOV         R0,#0x1
 0000002E  F7FF      BL          UartDataToHost?T  ; T=0x0001  (1)
 00000030  FFE7      BL          UartDataToHost?T  ; T=0x0001  (2)
   72:     }                                               
 00000032  E7F0      B           L_3  ; T=0x00000016
 00000034            ; SCOPE-END
   73: }
 00000034  BC08      POP         {R3}
ARM COMPILER V2.53,  demo                                                                  09/06/07  15:42:24  PAGE 4   

 00000036  4718      BX          R3
 00000038          ENDP ; 'main'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =         2
  const size           =    ------
End of Module Information.


ARM COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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