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