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

📄 main.lst

📁 周立功的LPC214x固件程序
💻 LST
字号:
ARM COMPILER V2.53,  main                                                                  28/06/07  09:54:11  PAGE 1   


ARM COMPILER V2.53, COMPILATION OF MODULE main
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe main.c THUMB OPTIMIZE(0,SPEED) BROWSE DEBUG TABS(4) 

stmt  level    source

    1          //已修改:(1)增加了usbdriver.c中的ENABLE()和 DISABLE()两个函数,并且在usbconfig.h中进行了相应修改
    2          //        (2)未使用原代码中引用的config.h ,而是自己增加了target.h
    3          //        (3)自己添加了main.c主程序   
    4          
    5          #include "USBConfig.h"
    6          
    7          #include "USBCI.h"
    8          
    9          //#include  "LPC214x.h"
   10          #include "USBDriver.h"
   11          
   12          #include "target.h"
   13          
   14          
   15          
   16          int main()
   17          {
   18   1      INT8U err;
   19   1          err = USB_Initialize();         //初始化USB控制器
   20   1          if (err != 0)
   21   1              while(1);                   //初始化失败,程序停止执行
   22   1      
   23   1          ENABLE();
   24   1      
   25   1          while(1)
   26   1          {
   27   2              usbserve();
   28   2      
   29   2              if (bEPPflags.bits.configuration == 1)
   30   2              {
   31   3                  
   32   3                  if (bEPPflags.bits.ep1_rxdone == 1)
   33   3                  {
   34   4                      DISABLE( );
   35   4                      bEPPflags.bits.ep1_rxdone = 0;
   36   4                      USB_WriteEndpoint(3,10,GenEpBuf);
   37   4                      ENABLE( );
   38   4              
   39   4                  }
   40   3              
   41   3              }
   42   2      
   43   2          
   44   2          
   45   2          }
   46   1      
   47   1      
   48   1      
   49   1      
   50   1      
   51   1      
   52   1      
   53   1      
   54   1      
   55   1      
   56   1          return 0 ;
   57   1      }
   58          
   59          
ARM COMPILER V2.53,  main                                                                  28/06/07  09:54:11  PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (DISABLE?T)
 EXTERN CODE16 (ENABLE?T)
 EXTERN CODE16 (USB_WriteEndpoint?T)
 EXTERN DATA (GenEpBuf)
 EXTERN DATA (bEPPflags)
 EXTERN CODE16 (USB_Initialize?T)
 EXTERN CODE16 (usbserve?T)
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         main



*** CODE SEGMENT '?PR?main?main':
   16: int main()
 00000000  B500      PUSH        {LR}
 00000002  B081      SUB         R13,#0x4
   17: {
 00000004            ; SCOPE-START
   19:     err = USB_Initialize();         //初始化USB控制器
 00000004  F7FF      BL          USB_Initialize?T  ; T=0x0001  (1)
 00000006  FFFC      BL          USB_Initialize?T  ; T=0x0001  (2)
 00000008  A900      ADD         R1,R13,#0x0
 0000000A  7008      STRB        R0,[R1,#0x0] ; err
   20:     if (err != 0)
 0000000C  A800      ADD         R0,R13,#0x0
 0000000E  7800      LDRB        R0,[R0,#0x0] ; err
 00000010  2800      CMP         R0,#0x0
 00000012  D000      BEQ         L_1  ; T=0x00000016
   21:         while(1);                   //初始化失败,程序停止执行
 00000014          L_2:
 00000014  E7FE      B           L_2  ; T=0x00000014
 00000016          L_1:
   23:     ENABLE();
 00000016  F7FF      BL          ENABLE?T  ; T=0x0001  (1)
 00000018  FFF3      BL          ENABLE?T  ; T=0x0001  (2)
   25:     while(1)
 0000001A          L_8:
   27:         usbserve();
 0000001A  F7FF      BL          usbserve?T  ; T=0x0001  (1)
 0000001C  FFF1      BL          usbserve?T  ; T=0x0001  (2)
   29:         if (bEPPflags.bits.configuration == 1)
 0000001E  4800      LDR         R0,=bEPPflags ; bEPPflags
 00000020  6800      LDR         R0,[R0,#0x0] ; bEPPflags
 00000022  0A00      LSR         R0,R0,#0x8
 00000024  2101      MOV         R1,#0x1
 00000026  4008      AND         R0,R1
 00000028  2801      CMP         R0,#0x1
 0000002A  D1F6      BNE         L_8  ; T=0x0000001A
   32:             if (bEPPflags.bits.ep1_rxdone == 1)
 0000002C  4800      LDR         R0,=bEPPflags ; bEPPflags
 0000002E  6800      LDR         R0,[R0,#0x0] ; bEPPflags
 00000030  0A80      LSR         R0,R0,#0xA
 00000032  2101      MOV         R1,#0x1
 00000034  4008      AND         R0,R1
 00000036  2801      CMP         R0,#0x1
 00000038  D1EF      BNE         L_8  ; T=0x0000001A
   34:                 DISABLE( );
 0000003A  F7FF      BL          DISABLE?T  ; T=0x0001  (1)
 0000003C  FFE1      BL          DISABLE?T  ; T=0x0001  (2)
   35:                 bEPPflags.bits.ep1_rxdone = 0;
 0000003E  4800      LDR         R0,=bEPPflags ; bEPPflags
 00000040  6801      LDR         R1,[R0,#0x0] ; bEPPflags
ARM COMPILER V2.53,  main                                                                  28/06/07  09:54:11  PAGE 3   

 00000042  4800      LDR         R2,=0x400
 00000044  4391      BIC         R1,R2
 00000046  6001      STR         R1,[R0,#0x0] ; bEPPflags
   36:                 USB_WriteEndpoint(3,10,GenEpBuf);
 00000048  4800      LDR         R2,=GenEpBuf ; GenEpBuf
 0000004A  2003      MOV         R0,#0x3
 0000004C  210A      MOV         R1,#0xA
 0000004E  F7FF      BL          USB_WriteEndpoint?T  ; T=0x0001  (1)
 00000050  FFD7      BL          USB_WriteEndpoint?T  ; T=0x0001  (2)
   37:                 ENABLE( );
 00000052  F7FF      BL          ENABLE?T  ; T=0x0001  (1)
 00000054  FFD5      BL          ENABLE?T  ; T=0x0001  (2)
   45:     }
 00000056  E7E0      B           L_8  ; T=0x0000001A
   56:     return 0 ;
 00000058  2000      MOV         R0,#0x0
 0000005A            ; SCOPE-END
   57: }
 0000005A  B001      ADD         R13,#0x4
 0000005C  BC08      POP         {R3}
 0000005E  4718      BX          R3
 00000060          ENDP ; 'main'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =    ------
  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 + -