📄 main.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 + -