📄 usbprinter.lst
字号:
###############################################################################
# #
# 24/Apr/2009 16:18:19 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION #
# Copyright 1999-2007 IAR Systems. All rights reserved. #
# #
# Cpu mode = arm #
# Endian = little #
# Source file = D:\basic-dataflash-project-at91sam7se-ek\at91lib\usb\dev #
# ice\usbprinter\USBPrinter.c #
# Command line = D:\basic-dataflash-project-at91sam7se-ek\at91lib\usb\dev #
# ice\usbprinter\USBPrinter.c -D at91sam7se512 -D sram -D #
# TRACE_LEVEL=4 -lC D:\basic-dataflash-project-at91sam7se- #
# ek\at91sam7se-ek\basic-dataflash-project\ewp\at91sam7se5 #
# 12_sram\List\ --remarks --diag_suppress Pe826,Pe1375 -o #
# D:\basic-dataflash-project-at91sam7se-ek\at91sam7se-ek\b #
# asic-dataflash-project\ewp\at91sam7se512_sram\Obj\ #
# --no_cse --no_unroll --no_inline --no_code_motion #
# --no_tbaa --no_clustering --no_scheduling --debug #
# --endian little --cpu ARM7TDMI -e --fpu None #
# --dlib_config "D:\Program Files\arm\ARM\INC\DLib_Config_ #
# Full.h" -I D:\basic-dataflash-project-at91sam7se-ek\at91 #
# sam7se-ek\basic-dataflash-project\ewp\..\..\..\at91lib/p #
# eripherals\ -I D:\basic-dataflash-project-at91sam7se-ek\ #
# at91sam7se-ek\basic-dataflash-project\ewp\..\..\..\at91l #
# ib\ -I D:\basic-dataflash-project-at91sam7se-ek\at91sam7 #
# se-ek\basic-dataflash-project\ewp\..\..\..\at91lib/memor #
# ies\ -I D:\basic-dataflash-project-at91sam7se-ek\at91sam #
# 7se-ek\basic-dataflash-project\ewp\..\..\..\at91lib/boar #
# ds/at91sam7se-ek\ -I "D:\Program Files\arm\ARM\INC\" #
# --interwork --cpu_mode arm -Oh #
# List file = D:\basic-dataflash-project-at91sam7se-ek\at91sam7se-ek\b #
# asic-dataflash-project\ewp\at91sam7se512_sram\List\USBPr #
# inter.lst #
# Object file = D:\basic-dataflash-project-at91sam7se-ek\at91sam7se-ek\b #
# asic-dataflash-project\ewp\at91sam7se512_sram\Obj\USBPri #
# nter.o #
# #
# #
###############################################################################
D:\basic-dataflash-project-at91sam7se-ek\at91lib\usb\device\usbprinter\USBPrinter.c
1 #include <board.h>
2 #include <pio/pio.h>
3 #include <pio/pio_it.h>
4 #include <aic/aic.h>
5 #include <utility/trace.h>
6 #include<usb\device\core\USBD.h>
7 #include<usb\device\usbprinter\USBPrinterDriver.h>
8 #include <usb/device/usbprinter/USBPrinterDriverDescriptors.h>
9
10 #include "USBPrinter.h"
11
12 #define DATABUFFERSIZE \
13 BOARD_USB_ENDPOINTS_MAXPACKETSIZE(USBPrinterDriverDescriptors_DATAIN)
14
\ In section .bss, align 1
15 static unsigned char Flag_USBUpdataReday;
\ Flag_USBUpdataReday:
\ 00000000 DS8 1
16
\ In section .bss, align 4
17 static unsigned char usbBuffer[DATABUFFERSIZE];
\ usbBuffer:
\ 00000000 DS8 64
18
\ In section .rodata, align 4
19 static const Pin pinVbus = PIN_USB_VBUS;
\ pinVbus:
\ 00000000 0000080000F8 DC32 524288, 0FFFFF800H
\ FFFF
\ 00000008 04020000 DC8 4, 2, 0, 0
20
\ In section .text, align 4, keep-with-next
21 static void ISR_Vbus(const Pin *pPin)
22 {
\ ISR_Vbus:
\ 00000000 01402DE9 PUSH {R0,LR}
23 if (PIO_Get(&pinVbus)) {
\ 00000004 ........ LDR R0,??DataTable4 ;; pinVbus
\ 00000008 ........ BL PIO_Get
\ 0000000C 000050E3 CMP R0,#+0
\ 00000010 0100000A BEQ ??ISR_Vbus_0
24
25 USBD_Connect();
\ 00000014 0050BDE8 POP {R12,LR}
\ 00000018 ........ B USBD_Connect ;; tailcall
26 }
27 else {
28
29 USBD_Disconnect();
30 }
31 }
\ ??ISR_Vbus_0:
\ 0000001C 0050BDE8 POP {R12,LR}
\ 00000020 ........ B USBD_Disconnect ;; tailcall
32
33
\ In section .text, align 4, keep-with-next
34 static void VBus_Configure( void )
35 {
\ VBus_Configure:
\ 00000000 01402DE9 PUSH {R0,LR}
36
37 TRACE_INFO("VBus_Configure ");
\ 00000004 40009FE5 LDR R0,??VBus_Configure_0 ;; `?<Constant "-I- VBus_Configure ">`
\ 00000008 ........ BL printf
38
39 // Configure PIO
40 PIO_Configure(&pinVbus, 1);
\ 0000000C 0110A0E3 MOV R1,#+1
\ 00000010 ........ LDR R0,??DataTable4 ;; pinVbus
\ 00000014 ........ BL PIO_Configure
41 PIO_ConfigureIt(&pinVbus, ISR_Vbus);
\ 00000018 30109FE5 LDR R1,??VBus_Configure_0+0x4 ;; ISR_Vbus
\ 0000001C ........ LDR R0,??DataTable4 ;; pinVbus
\ 00000020 ........ BL PIO_ConfigureIt
42 PIO_EnableIt(&pinVbus);
\ 00000024 ........ LDR R0,??DataTable4 ;; pinVbus
\ 00000028 ........ BL PIO_EnableIt
43
44 // Check current level on VBus
45 if (PIO_Get(&pinVbus)) {
\ 0000002C ........ LDR R0,??DataTable4 ;; pinVbus
\ 00000030 ........ BL PIO_Get
\ 00000034 000050E3 CMP R0,#+0
\ 00000038 0100000A BEQ ??VBus_Configure_1
46
47 // if VBUS present, force the connect
48 USBD_Connect();
\ 0000003C 0050BDE8 POP {R12,LR}
\ 00000040 ........ B USBD_Connect ;; tailcall
49 }
50 else {
51 USBD_Disconnect();
52 }
53 }
\ ??VBus_Configure_1:
\ 00000044 0050BDE8 POP {R12,LR}
\ 00000048 ........ B USBD_Disconnect ;; tailcall
\ ??VBus_Configure_0:
\ 0000004C ........ DC32 `?<Constant "-I- VBus_Configure ">`
\ 00000050 ........ DC32 ISR_Vbus
\ In section .text, align 4, keep-with-next
54 void ReceiveData(unsigned int received)
55 {
56 unsigned int i;
57 for (i = 0;i < received;i++)
\ ReceiveData:
\ 00000000 000050E3 CMP R0,#+0
\ 00000004 1EFF2F01 BXEQ LR
\ ??ReceiveData_0:
\ 00000008 010050E2 SUBS R0,R0,#+1
\ 0000000C FDFFFF1A BNE ??ReceiveData_0
58 {
59 // *cmd = usbBuffer[i];
60 // cmd++;
61 // DataNum++;
62 }
63 }
\ 00000010 1EFF2FE1 BX LR ;; return
\ In section .text, align 4, keep-with-next
64 static void UsbDataReceived(unsigned int unused,
65 unsigned char status,
66 unsigned int received,
67 unsigned int remaining)
68 {
\ UsbDataReceived:
\ 00000000 31402DE9 PUSH {R0,R4,R5,LR}
\ 00000004 0240A0E1 MOV R4,R2
\ 00000008 0350A0E1 MOV R5,R3
69
70
71 if (status == USBD_STATUS_SUCCESS)
\ 0000000C 000051E3 CMP R1,#+0
\ 00000010 0800001A BNE ??UsbDataReceived_0
72 {
73 // ReceiveData(received);
74 TRACE_INFO("UsbDataReceived: %d bytes\n\r",received);
^
Remark[Pe181]: argument is incompatible with corresponding format string
conversion
\ 00000014 0410A0E1 MOV R1,R4
\ 00000018 34009FE5 LDR R0,??UsbDataReceived_1 ;; `?<Constant "-I- UsbDataReceived: ...">`
\ 0000001C ........ BL printf
75 if ((received == DATABUFFERSIZE) && (remaining > 0)) {
\ 00000020 400054E3 CMP R4,#+64
\ 00000024 0300001A BNE ??UsbDataReceived_0
\ 00000028 000055E3 CMP R5,#+0
76 TRACE_INFO("UsbDataReceived:%d byte\n\r",remaining)
^
Remark[Pe181]: argument is incompatible with corresponding format string
conversion
static unsigned char Flag_USBUpdataReday;
^
"D:\basic-dataflash-project-at91sam7se-ek\at91lib\usb\device\usbprinter\USBPrinter.c",15 Warning[Pe550]:
variable "Flag_USBUpdataReday" was set but never used
\ 0000002C 0510A011 MOVNE R1,R5
\ 00000030 20009F15 LDRNE R0,??UsbDataReceived_1+0x4 ;; `?<Constant "-I- UsbDataReceived:%...">`
\ 00000034 ........ BLNE printf
77 }
78 }
79 else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -