?? demo.lst
字號(hào):
ARM COMPILER V2.50a, demo 14/02/06 09:59:08 PAGE 1
ARM COMPILER V2.50a, COMPILATION OF MODULE demo
OBJECT MODULE PLACED IN .\Obj\demo.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe demo.c THUMB DEFINE(MCB2140) DEBUG PRINT(.\LST\DEMO.LST) TABS(4) OBJECT(.\Ob
-j\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 /* Main Program */
35 int main (void) {
36 1
37 1 BYTE i = 0;
38 1
39 1 IODIR1 = LED1 | LED2 | LED3 | /* LED1, LED5..8 are Outputs */
40 1 LED4 | LED5 | LED6 |
41 1 LED7 | LED8;
42 1
43 1 init_serial();
44 1 USB_Init(); /* USB Initialization */
45 1 USB_Connect(TRUE); /* USB Connect */
46 1
47 1 while (1) /* Loop forever */
48 1 {
49 2 #if USB_VCOM
50 2 if ( Data2Host0 || Data2Host1 ) {
51 3 DeviceData2Host( 0 );
52 3 DeviceData2Host( 1 );
53 3 }
54 2 #if 0
/* EP3 is used to report UART0 status, and EP9
is used to report UART1 status respectively */
if ( ReportStatus0 ) {
ReportStatus0 = 0;
ARM COMPILER V2.50a, demo 14/02/06 09:59:08 PAGE 2
/* 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
68 2 #endif
69 2 }
70 1 }
ARM COMPILER V2.50a, demo 14/02/06 09:59:08 PAGE 3
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN CODE16 (USB_Init?T)
EXTERN CODE16 (USB_Connect?T)
EXTERN CODE16 (DeviceData2Host?T)
EXTERN CODE16 (init_serial?T)
EXTERN DATA (Data2Host0)
EXTERN DATA (Data2Host1)
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':
35: int main (void) {
00000000 B500 PUSH {LR}
00000002 ; SCOPE-START
39: 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]
43: init_serial();
00000008 F7FF BL init_serial?T ; T=0x0001 (1)
0000000A FFFA BL init_serial?T ; T=0x0001 (2)
44: USB_Init(); /* USB Initialization */
0000000C F7FF BL USB_Init?T ; T=0x0001 (1)
0000000E FFF8 BL USB_Init?T ; T=0x0001 (2)
45: 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)
47: while (1) /* Loop forever */
00000016 L_3:
50: 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:
51: DeviceData2Host( 0 );
00000026 2000 MOV R0,#0x0
00000028 F7FF BL DeviceData2Host?T ; T=0x0001 (1)
0000002A FFEA BL DeviceData2Host?T ; T=0x0001 (2)
52: DeviceData2Host( 1 );
0000002C 2001 MOV R0,#0x1
0000002E F7FF BL DeviceData2Host?T ; T=0x0001 (1)
00000030 FFE7 BL DeviceData2Host?T ; T=0x0001 (2)
69: }
00000032 E7F0 B L_3 ; T=0x00000016
00000034 ; SCOPE-END
70: }
00000034 BC08 POP {R3}
ARM COMPILER V2.50a, demo 14/02/06 09:59:08 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)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -