📄 usbdesc.lst
字号:
ARM COMPILER V2.53, usbdesc 27/04/07 16:47:01 PAGE 1
ARM COMPILER V2.53, COMPILATION OF MODULE usbdesc
OBJECT MODULE PLACED IN .\Obj\usbdesc.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe usbdesc.c THUMB DEBUG PRINT(.\LST\USBDESC.LST) TABS(4) OBJECT(.\Obj\usbdesc.
-obj)
stmt level source
1 /*----------------------------------------------------------------------------
2 * U S B - K e r n e l
3 *----------------------------------------------------------------------------
4 * Name: USBDESC.C
5 * Purpose: USB Descriptors
6 * Version: V1.10
7 *----------------------------------------------------------------------------
8 * This file is part of the uVision/ARM development tools.
9 * Copyright (c) 2005-2006 Keil Software. All rights reserved.
10 * This software may only be used under the terms of a valid, current,
11 * end user licence from KEIL for a compatible version of KEIL software
12 * development tools. Nothing else gives you the right to use it.
13 *---------------------------------------------------------------------------*/
14
15 #include "type.h"
16
17 #include "usb.h"
18 #include "hid.h"
19 #include "usbcfg.h"
20 #include "usbdesc.h"
21
22
23 /* HID Report Descriptor */
24 const BYTE HID_ReportDescriptor[] = {
25 HID_UsagePage(HID_USAGE_PAGE_GENERIC),
26 HID_Usage(HID_USAGE_GENERIC_MOUSE),
27 HID_Collection(HID_Application),
28 HID_Usage(HID_USAGE_GENERIC_POINTER),
29 HID_Collection(HID_Physical),
30 HID_UsagePage(HID_USAGE_PAGE_BUTTON),
31 HID_UsageMin(1),
32 HID_UsageMax(3),
33 HID_LogicalMin(0),
34 HID_LogicalMax(1),
35 HID_ReportCount(3),
36 HID_ReportSize(1),
37 HID_Input(HID_Data | HID_Variable | HID_Absolute),
38 HID_ReportCount(1),
39 HID_ReportSize(5),
40 HID_Input(HID_Constant),
41 HID_UsagePage(HID_USAGE_PAGE_GENERIC),
42 HID_Usage(HID_USAGE_GENERIC_X),
43 HID_Usage(HID_USAGE_GENERIC_Y),
44 HID_Usage(HID_USAGE_GENERIC_WHEEL),
45 HID_LogicalMin(-127),
46 HID_LogicalMax(127),
47 HID_ReportSize(8),
48 HID_ReportCount(3),
49 HID_Input(HID_Data | HID_Variable | HID_Relative),
50 HID_EndCollection,
51 HID_EndCollection,
52 };
53
54 const WORD HID_ReportDescSize = sizeof(HID_ReportDescriptor);
55
56
57 /* USB Standard Device Descriptor */
58 const BYTE USB_DeviceDescriptor[] = {
ARM COMPILER V2.53, usbdesc 27/04/07 16:47:01 PAGE 2
59 USB_DEVICE_DESC_SIZE, /* bLength */
60 USB_DEVICE_DESCRIPTOR_TYPE, /* bDescriptorType */
61 WBVAL(0x0110), /* 1.10 */ /* bcdUSB */
62 0x00, /* bDeviceClass */
63 0x00, /* bDeviceSubClass */
64 0x00, /* bDeviceProtocol */
65 USB_MAX_PACKET0, /* bMaxPacketSize0 */
66 WBVAL(0xC251), /* idVendor */
67 WBVAL(0x1402), /* idProduct */
68 WBVAL(0x0100), /* 1.00 */ /* bcdDevice */
69 0x04, /* iManufacturer */
70 0x20, /* iProduct */
71 0x48, /* iSerialNumber */
72 0x01 /* bNumConfigurations */
73 };
74
75 /* USB Configuration Descriptor */
76 /* All Descriptors (Configuration, Interface, Endpoint, Class, Vendor */
77 const BYTE USB_ConfigDescriptor[] = {
78 /* Configuration 1 */
79 USB_CONFIGUARTION_DESC_SIZE, /* bLength */
80 USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType */
81 WBVAL( /* wTotalLength */
86 USB_CONFIGUARTION_DESC_SIZE +
86 USB_INTERFACE_DESC_SIZE +
86 HID_DESC_SIZE +
86 USB_ENDPOINT_DESC_SIZE
86 ),
87 0x01, /* bNumInterfaces */
88 0x01, /* bConfigurationValue */
89 0x00, /* iConfiguration */
90 USB_CONFIG_BUS_POWERED /*|*/ /* bmAttributes */
91 /*USB_CONFIG_REMOTE_WAKEUP*/,
92 USB_CONFIG_POWER_MA(100), /* bMaxPower */
93 /* Interface 0, Alternate Setting 0, HID Class */
94 USB_INTERFACE_DESC_SIZE, /* bLength */
95 USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */
96 0x00, /* bInterfaceNumber */
97 0x00, /* bAlternateSetting */
98 0x01, /* bNumEndpoints */
99 USB_DEVICE_CLASS_HUMAN_INTERFACE, /* bInterfaceClass */
100 HID_SUBCLASS_BOOT, /* bInterfaceSubClass */
101 HID_PROTOCOL_MOUSE, /* bInterfaceProtocol */
102 0x62, /* iInterface */
103 /* HID Class Descriptor */
104 /* HID_DESC_OFFSET = 0x0012 */
105 HID_DESC_SIZE, /* bLength */
106 HID_HID_DESCRIPTOR_TYPE, /* bDescriptorType */
107 WBVAL(0x0100), /* 1.00 */ /* bcdHID */
108 0x00, /* bCountryCode */
109 0x01, /* bNumDescriptors */
110 HID_REPORT_DESCRIPTOR_TYPE, /* bDescriptorType */
111 WBVAL(HID_REPORT_DESC_SIZE), /* wDescriptorLength */
112 /* Endpoint, HID Interrupt In */
113 USB_ENDPOINT_DESC_SIZE, /* bLength */
114 USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType */
115 USB_ENDPOINT_IN(3), /* bEndpointAddress */
116 USB_ENDPOINT_TYPE_INTERRUPT, /* bmAttributes */
117 WBVAL(0x0004), /* wMaxPacketSize */
118 0x20, /* 32ms */ /* bInterval */
119 /* Terminator */
120 0 /* bLength */
121 };
122
123 /* USB String Descriptor (optional) */
124 const BYTE USB_StringDescriptor[] = {
ARM COMPILER V2.53, usbdesc 27/04/07 16:47:01 PAGE 3
125 /* Index 0x00: LANGID Codes */
126 0x04, /* bLength */
127 USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */
128 WBVAL(0x0409), /* US English */ /* wLANGID */
129 /* Index 0x04: Manufacturer */
130 0x1C, /* bLength */
131 USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */
132 'K',0,
133 'e',0,
134 'i',0,
135 'l',0,
136 ' ',0,
137 'S',0,
138 'o',0,
139 'f',0,
140 't',0,
141 'w',0,
142 'a',0,
143 'r',0,
144 'e',0,
145 /* Index 0x20: Product */
146 0x28, /* bLength */
147 USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */
148 'A',0,
149 'T',0,
150 '9',0,
151 '1',0,
152 'S',0,
153 'A',0,
154 'M',0,
155 '7',0,
156 'A',0,
157 '3',0,
158 '-',0,
159 'E',0,
160 'K',0,
161 ' ',0,
162 'M',0,
163 'o',0,
164 'u',0,
165 's',0,
166 'e',0,
167 /* Index 0x48: Serial Number */
168 0x1A, /* bLength */
169 USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */
170 'D',0,
171 'E',0,
172 'M',0,
173 'O',0,
174 '0',0,
175 '0',0,
176 '0',0,
177 '0',0,
178 '0',0,
179 '0',0,
180 '0',0,
181 '0',0,
182 /* Index 0x62: Interface 0, Alternate Setting 0 */
183 0x0C, /* bLength */
184 USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */
185 'M',0,
186 'o',0,
187 'u',0,
188 's',0,
189 'e',0,
190 };
ARM COMPILER V2.53, usbdesc 27/04/07 16:47:01 PAGE 4
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** PUBLICS:
PUBLIC USB_DeviceDescriptor
PUBLIC USB_ConfigDescriptor
PUBLIC USB_StringDescriptor
PUBLIC HID_ReportDescriptor
PUBLIC HID_ReportDescSize
*** DATA SEGMENT '?CON?usbdesc':
00000000 HID_ReportDescSize:
00000000 BEGIN_INIT
00000000 0034 DW 0x34
00000002 END_INIT
00000002 USB_DeviceDescriptor:
00000002 BEGIN_INIT
00000002 12 DB 0x12
00000003 01 DB 0x1
00000004 10 DB 0x10
00000005 01 DB 0x1
00000006 00 DB 0x0
00000007 00 DB 0x0
00000008 00 DB 0x0
00000009 08 DB 0x8
0000000A 51 DB 0x51
0000000B C2 DB 0xC2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -