Files
squeow/squeow_sw/build/usbd_desc.lst

1132 lines
48 KiB
Plaintext
Raw Normal View History

2023-07-02 17:09:41 +02:00
ARM GAS /tmp/ccDO9gP0.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "usbd_desc.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Src/usbd_desc.c"
20 .section .text.USBD_AUDIO_DeviceDescriptor,"ax",%progbits
21 .align 1
22 .global USBD_AUDIO_DeviceDescriptor
23 .syntax unified
24 .thumb
25 .thumb_func
27 USBD_AUDIO_DeviceDescriptor:
28 .LVL0:
29 .LFB333:
1:Src/usbd_desc.c **** /* USER CODE BEGIN Header */
2:Src/usbd_desc.c **** /**
3:Src/usbd_desc.c **** ******************************************************************************
4:Src/usbd_desc.c **** * @file : usbd_desc.c
5:Src/usbd_desc.c **** * @version : v3.0_Cube
6:Src/usbd_desc.c **** * @brief : This file implements the USB device descriptors.
7:Src/usbd_desc.c **** ******************************************************************************
8:Src/usbd_desc.c **** * @attention
9:Src/usbd_desc.c **** *
10:Src/usbd_desc.c **** * Copyright (c) 2022 STMicroelectronics.
11:Src/usbd_desc.c **** * All rights reserved.
12:Src/usbd_desc.c **** *
13:Src/usbd_desc.c **** * This software is licensed under terms that can be found in the LICENSE file
14:Src/usbd_desc.c **** * in the root directory of this software component.
15:Src/usbd_desc.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
16:Src/usbd_desc.c **** *
17:Src/usbd_desc.c **** ******************************************************************************
18:Src/usbd_desc.c **** */
19:Src/usbd_desc.c **** /* USER CODE END Header */
20:Src/usbd_desc.c ****
21:Src/usbd_desc.c **** /* Includes ------------------------------------------------------------------*/
22:Src/usbd_desc.c **** #include "usbd_core.h"
23:Src/usbd_desc.c **** #include "usbd_desc.h"
24:Src/usbd_desc.c **** #include "usbd_conf.h"
25:Src/usbd_desc.c ****
26:Src/usbd_desc.c **** /* USER CODE BEGIN INCLUDE */
27:Src/usbd_desc.c ****
28:Src/usbd_desc.c **** /* USER CODE END INCLUDE */
29:Src/usbd_desc.c ****
ARM GAS /tmp/ccDO9gP0.s page 2
30:Src/usbd_desc.c **** /* Private typedef -----------------------------------------------------------*/
31:Src/usbd_desc.c **** /* Private define ------------------------------------------------------------*/
32:Src/usbd_desc.c **** /* Private macro -------------------------------------------------------------*/
33:Src/usbd_desc.c ****
34:Src/usbd_desc.c **** /* USER CODE BEGIN PV */
35:Src/usbd_desc.c **** /* Private variables ---------------------------------------------------------*/
36:Src/usbd_desc.c ****
37:Src/usbd_desc.c **** /* USER CODE END PV */
38:Src/usbd_desc.c ****
39:Src/usbd_desc.c **** /** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
40:Src/usbd_desc.c **** * @{
41:Src/usbd_desc.c **** */
42:Src/usbd_desc.c ****
43:Src/usbd_desc.c **** /** @addtogroup USBD_DESC
44:Src/usbd_desc.c **** * @{
45:Src/usbd_desc.c **** */
46:Src/usbd_desc.c ****
47:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_TypesDefinitions USBD_DESC_Private_TypesDefinitions
48:Src/usbd_desc.c **** * @brief Private types.
49:Src/usbd_desc.c **** * @{
50:Src/usbd_desc.c **** */
51:Src/usbd_desc.c ****
52:Src/usbd_desc.c **** /* USER CODE BEGIN PRIVATE_TYPES */
53:Src/usbd_desc.c ****
54:Src/usbd_desc.c **** /* USER CODE END PRIVATE_TYPES */
55:Src/usbd_desc.c ****
56:Src/usbd_desc.c **** /**
57:Src/usbd_desc.c **** * @}
58:Src/usbd_desc.c **** */
59:Src/usbd_desc.c ****
60:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Defines USBD_DESC_Private_Defines
61:Src/usbd_desc.c **** * @brief Private defines.
62:Src/usbd_desc.c **** * @{
63:Src/usbd_desc.c **** */
64:Src/usbd_desc.c ****
65:Src/usbd_desc.c **** #define USBD_VID 1155
66:Src/usbd_desc.c **** #define USBD_LANGID_STRING 1033
67:Src/usbd_desc.c **** #define USBD_MANUFACTURER_STRING "STMicroelectronics"
68:Src/usbd_desc.c **** #define USBD_PID 22336
69:Src/usbd_desc.c **** #define USBD_PRODUCT_STRING "STM32 Audio Class"
70:Src/usbd_desc.c **** #define USBD_CONFIGURATION_STRING "AUDIO Config"
71:Src/usbd_desc.c **** #define USBD_INTERFACE_STRING "AUDIO Interface"
72:Src/usbd_desc.c ****
73:Src/usbd_desc.c **** /* USER CODE BEGIN PRIVATE_DEFINES */
74:Src/usbd_desc.c ****
75:Src/usbd_desc.c **** /* USER CODE END PRIVATE_DEFINES */
76:Src/usbd_desc.c ****
77:Src/usbd_desc.c **** /**
78:Src/usbd_desc.c **** * @}
79:Src/usbd_desc.c **** */
80:Src/usbd_desc.c ****
81:Src/usbd_desc.c **** /* USER CODE BEGIN 0 */
82:Src/usbd_desc.c ****
83:Src/usbd_desc.c **** /* USER CODE END 0 */
84:Src/usbd_desc.c ****
85:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Macros USBD_DESC_Private_Macros
86:Src/usbd_desc.c **** * @brief Private macros.
ARM GAS /tmp/ccDO9gP0.s page 3
87:Src/usbd_desc.c **** * @{
88:Src/usbd_desc.c **** */
89:Src/usbd_desc.c ****
90:Src/usbd_desc.c **** /* USER CODE BEGIN PRIVATE_MACRO */
91:Src/usbd_desc.c ****
92:Src/usbd_desc.c **** /* USER CODE END PRIVATE_MACRO */
93:Src/usbd_desc.c ****
94:Src/usbd_desc.c **** /**
95:Src/usbd_desc.c **** * @}
96:Src/usbd_desc.c **** */
97:Src/usbd_desc.c ****
98:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_FunctionPrototypes USBD_DESC_Private_FunctionPrototypes
99:Src/usbd_desc.c **** * @brief Private functions declaration.
100:Src/usbd_desc.c **** * @{
101:Src/usbd_desc.c **** */
102:Src/usbd_desc.c ****
103:Src/usbd_desc.c **** static void Get_SerialNum(void);
104:Src/usbd_desc.c **** static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len);
105:Src/usbd_desc.c ****
106:Src/usbd_desc.c **** /**
107:Src/usbd_desc.c **** * @}
108:Src/usbd_desc.c **** */
109:Src/usbd_desc.c ****
110:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_FunctionPrototypes USBD_DESC_Private_FunctionPrototypes
111:Src/usbd_desc.c **** * @brief Private functions declaration.
112:Src/usbd_desc.c **** * @{
113:Src/usbd_desc.c **** */
114:Src/usbd_desc.c ****
115:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
116:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
117:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
118:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
119:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
120:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
121:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
122:Src/usbd_desc.c ****
123:Src/usbd_desc.c **** /**
124:Src/usbd_desc.c **** * @}
125:Src/usbd_desc.c **** */
126:Src/usbd_desc.c ****
127:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Variables USBD_DESC_Private_Variables
128:Src/usbd_desc.c **** * @brief Private variables.
129:Src/usbd_desc.c **** * @{
130:Src/usbd_desc.c **** */
131:Src/usbd_desc.c ****
132:Src/usbd_desc.c **** USBD_DescriptorsTypeDef AUDIO_Desc =
133:Src/usbd_desc.c **** {
134:Src/usbd_desc.c **** USBD_AUDIO_DeviceDescriptor,
135:Src/usbd_desc.c **** USBD_AUDIO_LangIDStrDescriptor,
136:Src/usbd_desc.c **** USBD_AUDIO_ManufacturerStrDescriptor,
137:Src/usbd_desc.c **** USBD_AUDIO_ProductStrDescriptor,
138:Src/usbd_desc.c **** USBD_AUDIO_SerialStrDescriptor,
139:Src/usbd_desc.c **** USBD_AUDIO_ConfigStrDescriptor,
140:Src/usbd_desc.c **** USBD_AUDIO_InterfaceStrDescriptor
141:Src/usbd_desc.c **** };
142:Src/usbd_desc.c ****
143:Src/usbd_desc.c **** #if defined ( __ICCARM__ ) /* IAR Compiler */
ARM GAS /tmp/ccDO9gP0.s page 4
144:Src/usbd_desc.c **** #pragma data_alignment=4
145:Src/usbd_desc.c **** #endif /* defined ( __ICCARM__ ) */
146:Src/usbd_desc.c **** /** USB standard device descriptor. */
147:Src/usbd_desc.c **** __ALIGN_BEGIN uint8_t USBD_AUDIO_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END =
148:Src/usbd_desc.c **** {
149:Src/usbd_desc.c **** 0x12, /*bLength */
150:Src/usbd_desc.c **** USB_DESC_TYPE_DEVICE, /*bDescriptorType*/
151:Src/usbd_desc.c **** 0x00, /*bcdUSB */
152:Src/usbd_desc.c **** 0x02,
153:Src/usbd_desc.c **** 0x00, /*bDeviceClass*/
154:Src/usbd_desc.c **** 0x00, /*bDeviceSubClass*/
155:Src/usbd_desc.c **** 0x00, /*bDeviceProtocol*/
156:Src/usbd_desc.c **** USB_MAX_EP0_SIZE, /*bMaxPacketSize*/
157:Src/usbd_desc.c **** LOBYTE(USBD_VID), /*idVendor*/
158:Src/usbd_desc.c **** HIBYTE(USBD_VID), /*idVendor*/
159:Src/usbd_desc.c **** LOBYTE(USBD_PID), /*idProduct*/
160:Src/usbd_desc.c **** HIBYTE(USBD_PID), /*idProduct*/
161:Src/usbd_desc.c **** 0x00, /*bcdDevice rel. 2.00*/
162:Src/usbd_desc.c **** 0x02,
163:Src/usbd_desc.c **** USBD_IDX_MFC_STR, /*Index of manufacturer string*/
164:Src/usbd_desc.c **** USBD_IDX_PRODUCT_STR, /*Index of product string*/
165:Src/usbd_desc.c **** USBD_IDX_SERIAL_STR, /*Index of serial number string*/
166:Src/usbd_desc.c **** USBD_MAX_NUM_CONFIGURATION /*bNumConfigurations*/
167:Src/usbd_desc.c **** };
168:Src/usbd_desc.c ****
169:Src/usbd_desc.c **** /* USB_DeviceDescriptor */
170:Src/usbd_desc.c ****
171:Src/usbd_desc.c **** /**
172:Src/usbd_desc.c **** * @}
173:Src/usbd_desc.c **** */
174:Src/usbd_desc.c ****
175:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Variables USBD_DESC_Private_Variables
176:Src/usbd_desc.c **** * @brief Private variables.
177:Src/usbd_desc.c **** * @{
178:Src/usbd_desc.c **** */
179:Src/usbd_desc.c ****
180:Src/usbd_desc.c **** #if defined ( __ICCARM__ ) /* IAR Compiler */
181:Src/usbd_desc.c **** #pragma data_alignment=4
182:Src/usbd_desc.c **** #endif /* defined ( __ICCARM__ ) */
183:Src/usbd_desc.c ****
184:Src/usbd_desc.c **** /** USB lang identifier descriptor. */
185:Src/usbd_desc.c **** __ALIGN_BEGIN uint8_t USBD_LangIDDesc[USB_LEN_LANGID_STR_DESC] __ALIGN_END =
186:Src/usbd_desc.c **** {
187:Src/usbd_desc.c **** USB_LEN_LANGID_STR_DESC,
188:Src/usbd_desc.c **** USB_DESC_TYPE_STRING,
189:Src/usbd_desc.c **** LOBYTE(USBD_LANGID_STRING),
190:Src/usbd_desc.c **** HIBYTE(USBD_LANGID_STRING)
191:Src/usbd_desc.c **** };
192:Src/usbd_desc.c ****
193:Src/usbd_desc.c **** #if defined ( __ICCARM__ ) /* IAR Compiler */
194:Src/usbd_desc.c **** #pragma data_alignment=4
195:Src/usbd_desc.c **** #endif /* defined ( __ICCARM__ ) */
196:Src/usbd_desc.c **** /* Internal string descriptor. */
197:Src/usbd_desc.c **** __ALIGN_BEGIN uint8_t USBD_StrDesc[USBD_MAX_STR_DESC_SIZ] __ALIGN_END;
198:Src/usbd_desc.c ****
199:Src/usbd_desc.c **** #if defined ( __ICCARM__ ) /*!< IAR Compiler */
200:Src/usbd_desc.c **** #pragma data_alignment=4
ARM GAS /tmp/ccDO9gP0.s page 5
201:Src/usbd_desc.c **** #endif
202:Src/usbd_desc.c **** __ALIGN_BEGIN uint8_t USBD_StringSerial[USB_SIZ_STRING_SERIAL] __ALIGN_END = {
203:Src/usbd_desc.c **** USB_SIZ_STRING_SERIAL,
204:Src/usbd_desc.c **** USB_DESC_TYPE_STRING,
205:Src/usbd_desc.c **** };
206:Src/usbd_desc.c ****
207:Src/usbd_desc.c **** /**
208:Src/usbd_desc.c **** * @}
209:Src/usbd_desc.c **** */
210:Src/usbd_desc.c ****
211:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Functions USBD_DESC_Private_Functions
212:Src/usbd_desc.c **** * @brief Private functions.
213:Src/usbd_desc.c **** * @{
214:Src/usbd_desc.c **** */
215:Src/usbd_desc.c ****
216:Src/usbd_desc.c **** /**
217:Src/usbd_desc.c **** * @brief Return the device descriptor
218:Src/usbd_desc.c **** * @param speed : Current device speed
219:Src/usbd_desc.c **** * @param length : Pointer to data length variable
220:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
221:Src/usbd_desc.c **** */
222:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
223:Src/usbd_desc.c **** {
30 .loc 1 223 1 view -0
31 .cfi_startproc
32 @ args = 0, pretend = 0, frame = 0
33 @ frame_needed = 0, uses_anonymous_args = 0
34 @ link register save eliminated.
224:Src/usbd_desc.c **** UNUSED(speed);
35 .loc 1 224 3 view .LVU1
225:Src/usbd_desc.c **** *length = sizeof(USBD_AUDIO_DeviceDesc);
36 .loc 1 225 3 view .LVU2
37 .loc 1 225 11 is_stmt 0 view .LVU3
38 0000 1223 movs r3, #18
39 0002 0B80 strh r3, [r1] @ movhi
226:Src/usbd_desc.c **** return USBD_AUDIO_DeviceDesc;
40 .loc 1 226 3 is_stmt 1 view .LVU4
227:Src/usbd_desc.c **** }
41 .loc 1 227 1 is_stmt 0 view .LVU5
42 0004 0048 ldr r0, .L2
43 .LVL1:
44 .loc 1 227 1 view .LVU6
45 0006 7047 bx lr
46 .L3:
47 .align 2
48 .L2:
49 0008 00000000 .word USBD_AUDIO_DeviceDesc
50 .cfi_endproc
51 .LFE333:
53 .section .text.USBD_AUDIO_LangIDStrDescriptor,"ax",%progbits
54 .align 1
55 .global USBD_AUDIO_LangIDStrDescriptor
56 .syntax unified
57 .thumb
58 .thumb_func
60 USBD_AUDIO_LangIDStrDescriptor:
61 .LVL2:
ARM GAS /tmp/ccDO9gP0.s page 6
62 .LFB334:
228:Src/usbd_desc.c ****
229:Src/usbd_desc.c **** /**
230:Src/usbd_desc.c **** * @brief Return the LangID string descriptor
231:Src/usbd_desc.c **** * @param speed : Current device speed
232:Src/usbd_desc.c **** * @param length : Pointer to data length variable
233:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
234:Src/usbd_desc.c **** */
235:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
236:Src/usbd_desc.c **** {
63 .loc 1 236 1 is_stmt 1 view -0
64 .cfi_startproc
65 @ args = 0, pretend = 0, frame = 0
66 @ frame_needed = 0, uses_anonymous_args = 0
67 @ link register save eliminated.
237:Src/usbd_desc.c **** UNUSED(speed);
68 .loc 1 237 3 view .LVU8
238:Src/usbd_desc.c **** *length = sizeof(USBD_LangIDDesc);
69 .loc 1 238 3 view .LVU9
70 .loc 1 238 11 is_stmt 0 view .LVU10
71 0000 0423 movs r3, #4
72 0002 0B80 strh r3, [r1] @ movhi
239:Src/usbd_desc.c **** return USBD_LangIDDesc;
73 .loc 1 239 3 is_stmt 1 view .LVU11
240:Src/usbd_desc.c **** }
74 .loc 1 240 1 is_stmt 0 view .LVU12
75 0004 0048 ldr r0, .L5
76 .LVL3:
77 .loc 1 240 1 view .LVU13
78 0006 7047 bx lr
79 .L6:
80 .align 2
81 .L5:
82 0008 00000000 .word USBD_LangIDDesc
83 .cfi_endproc
84 .LFE334:
86 .section .text.IntToUnicode,"ax",%progbits
87 .align 1
88 .syntax unified
89 .thumb
90 .thumb_func
92 IntToUnicode:
93 .LVL4:
94 .LFB341:
241:Src/usbd_desc.c ****
242:Src/usbd_desc.c **** /**
243:Src/usbd_desc.c **** * @brief Return the product string descriptor
244:Src/usbd_desc.c **** * @param speed : Current device speed
245:Src/usbd_desc.c **** * @param length : Pointer to data length variable
246:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
247:Src/usbd_desc.c **** */
248:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
249:Src/usbd_desc.c **** {
250:Src/usbd_desc.c **** if(speed == 0)
251:Src/usbd_desc.c **** {
252:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_PRODUCT_STRING, USBD_StrDesc, length);
253:Src/usbd_desc.c **** }
ARM GAS /tmp/ccDO9gP0.s page 7
254:Src/usbd_desc.c **** else
255:Src/usbd_desc.c **** {
256:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_PRODUCT_STRING, USBD_StrDesc, length);
257:Src/usbd_desc.c **** }
258:Src/usbd_desc.c **** return USBD_StrDesc;
259:Src/usbd_desc.c **** }
260:Src/usbd_desc.c ****
261:Src/usbd_desc.c **** /**
262:Src/usbd_desc.c **** * @brief Return the manufacturer string descriptor
263:Src/usbd_desc.c **** * @param speed : Current device speed
264:Src/usbd_desc.c **** * @param length : Pointer to data length variable
265:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
266:Src/usbd_desc.c **** */
267:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
268:Src/usbd_desc.c **** {
269:Src/usbd_desc.c **** UNUSED(speed);
270:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length);
271:Src/usbd_desc.c **** return USBD_StrDesc;
272:Src/usbd_desc.c **** }
273:Src/usbd_desc.c ****
274:Src/usbd_desc.c **** /**
275:Src/usbd_desc.c **** * @brief Return the serial number string descriptor
276:Src/usbd_desc.c **** * @param speed : Current device speed
277:Src/usbd_desc.c **** * @param length : Pointer to data length variable
278:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
279:Src/usbd_desc.c **** */
280:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
281:Src/usbd_desc.c **** {
282:Src/usbd_desc.c **** UNUSED(speed);
283:Src/usbd_desc.c **** *length = USB_SIZ_STRING_SERIAL;
284:Src/usbd_desc.c ****
285:Src/usbd_desc.c **** /* Update the serial number string descriptor with the data from the unique
286:Src/usbd_desc.c **** * ID */
287:Src/usbd_desc.c **** Get_SerialNum();
288:Src/usbd_desc.c ****
289:Src/usbd_desc.c **** /* USER CODE BEGIN USBD_AUDIO_SerialStrDescriptor */
290:Src/usbd_desc.c ****
291:Src/usbd_desc.c **** /* USER CODE END USBD_AUDIO_SerialStrDescriptor */
292:Src/usbd_desc.c ****
293:Src/usbd_desc.c **** return (uint8_t *) USBD_StringSerial;
294:Src/usbd_desc.c **** }
295:Src/usbd_desc.c ****
296:Src/usbd_desc.c **** /**
297:Src/usbd_desc.c **** * @brief Return the configuration string descriptor
298:Src/usbd_desc.c **** * @param speed : Current device speed
299:Src/usbd_desc.c **** * @param length : Pointer to data length variable
300:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
301:Src/usbd_desc.c **** */
302:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
303:Src/usbd_desc.c **** {
304:Src/usbd_desc.c **** if(speed == USBD_SPEED_HIGH)
305:Src/usbd_desc.c **** {
306:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING, USBD_StrDesc, length);
307:Src/usbd_desc.c **** }
308:Src/usbd_desc.c **** else
309:Src/usbd_desc.c **** {
310:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING, USBD_StrDesc, length);
ARM GAS /tmp/ccDO9gP0.s page 8
311:Src/usbd_desc.c **** }
312:Src/usbd_desc.c **** return USBD_StrDesc;
313:Src/usbd_desc.c **** }
314:Src/usbd_desc.c ****
315:Src/usbd_desc.c **** /**
316:Src/usbd_desc.c **** * @brief Return the interface string descriptor
317:Src/usbd_desc.c **** * @param speed : Current device speed
318:Src/usbd_desc.c **** * @param length : Pointer to data length variable
319:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
320:Src/usbd_desc.c **** */
321:Src/usbd_desc.c **** uint8_t * USBD_AUDIO_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
322:Src/usbd_desc.c **** {
323:Src/usbd_desc.c **** if(speed == 0)
324:Src/usbd_desc.c **** {
325:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_INTERFACE_STRING, USBD_StrDesc, length);
326:Src/usbd_desc.c **** }
327:Src/usbd_desc.c **** else
328:Src/usbd_desc.c **** {
329:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_INTERFACE_STRING, USBD_StrDesc, length);
330:Src/usbd_desc.c **** }
331:Src/usbd_desc.c **** return USBD_StrDesc;
332:Src/usbd_desc.c **** }
333:Src/usbd_desc.c ****
334:Src/usbd_desc.c **** /**
335:Src/usbd_desc.c **** * @brief Create the serial number string descriptor
336:Src/usbd_desc.c **** * @param None
337:Src/usbd_desc.c **** * @retval None
338:Src/usbd_desc.c **** */
339:Src/usbd_desc.c **** static void Get_SerialNum(void)
340:Src/usbd_desc.c **** {
341:Src/usbd_desc.c **** uint32_t deviceserial0;
342:Src/usbd_desc.c **** uint32_t deviceserial1;
343:Src/usbd_desc.c **** uint32_t deviceserial2;
344:Src/usbd_desc.c ****
345:Src/usbd_desc.c **** deviceserial0 = *(uint32_t *) DEVICE_ID1;
346:Src/usbd_desc.c **** deviceserial1 = *(uint32_t *) DEVICE_ID2;
347:Src/usbd_desc.c **** deviceserial2 = *(uint32_t *) DEVICE_ID3;
348:Src/usbd_desc.c ****
349:Src/usbd_desc.c **** deviceserial0 += deviceserial2;
350:Src/usbd_desc.c ****
351:Src/usbd_desc.c **** if (deviceserial0 != 0)
352:Src/usbd_desc.c **** {
353:Src/usbd_desc.c **** IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8);
354:Src/usbd_desc.c **** IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4);
355:Src/usbd_desc.c **** }
356:Src/usbd_desc.c **** }
357:Src/usbd_desc.c ****
358:Src/usbd_desc.c **** /**
359:Src/usbd_desc.c **** * @brief Convert Hex 32Bits value into char
360:Src/usbd_desc.c **** * @param value: value to convert
361:Src/usbd_desc.c **** * @param pbuf: pointer to the buffer
362:Src/usbd_desc.c **** * @param len: buffer length
363:Src/usbd_desc.c **** * @retval None
364:Src/usbd_desc.c **** */
365:Src/usbd_desc.c **** static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len)
366:Src/usbd_desc.c **** {
95 .loc 1 366 1 is_stmt 1 view -0
ARM GAS /tmp/ccDO9gP0.s page 9
96 .cfi_startproc
97 @ args = 0, pretend = 0, frame = 0
98 @ frame_needed = 0, uses_anonymous_args = 0
367:Src/usbd_desc.c **** uint8_t idx = 0;
99 .loc 1 367 3 view .LVU15
368:Src/usbd_desc.c ****
369:Src/usbd_desc.c **** for (idx = 0; idx < len; idx++)
100 .loc 1 369 3 view .LVU16
101 .loc 1 369 12 is_stmt 0 view .LVU17
102 0000 0023 movs r3, #0
103 .LVL5:
104 .loc 1 369 21 is_stmt 1 view .LVU18
105 0002 9342 cmp r3, r2
106 0004 1ED2 bcs .L15
366:Src/usbd_desc.c **** uint8_t idx = 0;
107 .loc 1 366 1 is_stmt 0 view .LVU19
108 0006 00B5 push {lr}
109 .LCFI0:
110 .cfi_def_cfa_offset 4
111 .cfi_offset 14, -4
112 0008 10E0 b .L11
113 .L9:
370:Src/usbd_desc.c **** {
371:Src/usbd_desc.c **** if (((value >> 28)) < 0xA)
372:Src/usbd_desc.c **** {
373:Src/usbd_desc.c **** pbuf[2 * idx] = (value >> 28) + '0';
374:Src/usbd_desc.c **** }
375:Src/usbd_desc.c **** else
376:Src/usbd_desc.c **** {
377:Src/usbd_desc.c **** pbuf[2 * idx] = (value >> 28) + 'A' - 10;
114 .loc 1 377 7 is_stmt 1 view .LVU20
115 .loc 1 377 43 is_stmt 0 view .LVU21
116 000a 0CF1370C add ip, ip, #55
117 .loc 1 377 21 view .LVU22
118 000e 01F813C0 strb ip, [r1, r3, lsl #1]
119 .L10:
378:Src/usbd_desc.c **** }
379:Src/usbd_desc.c ****
380:Src/usbd_desc.c **** value = value << 4;
120 .loc 1 380 5 is_stmt 1 discriminator 2 view .LVU23
121 .loc 1 380 11 is_stmt 0 discriminator 2 view .LVU24
122 0012 0001 lsls r0, r0, #4
123 .LVL6:
381:Src/usbd_desc.c ****
382:Src/usbd_desc.c **** pbuf[2 * idx + 1] = 0;
124 .loc 1 382 5 is_stmt 1 discriminator 2 view .LVU25
125 .loc 1 382 12 is_stmt 0 discriminator 2 view .LVU26
126 0014 4FEA430C lsl ip, r3, #1
127 .loc 1 382 9 discriminator 2 view .LVU27
128 0018 0CF1010C add ip, ip, #1
129 .loc 1 382 23 discriminator 2 view .LVU28
130 001c 4FF0000E mov lr, #0
131 0020 01F80CE0 strb lr, [r1, ip]
369:Src/usbd_desc.c **** {
132 .loc 1 369 31 is_stmt 1 discriminator 2 view .LVU29
133 0024 0133 adds r3, r3, #1
134 .LVL7:
ARM GAS /tmp/ccDO9gP0.s page 10
369:Src/usbd_desc.c **** {
135 .loc 1 369 31 is_stmt 0 discriminator 2 view .LVU30
136 0026 DBB2 uxtb r3, r3
137 .LVL8:
369:Src/usbd_desc.c **** {
138 .loc 1 369 21 is_stmt 1 discriminator 2 view .LVU31
139 0028 9342 cmp r3, r2
140 002a 09D2 bcs .L16
141 .L11:
371:Src/usbd_desc.c **** {
142 .loc 1 371 5 view .LVU32
371:Src/usbd_desc.c **** {
143 .loc 1 371 17 is_stmt 0 view .LVU33
144 002c 4FEA107C lsr ip, r0, #28
371:Src/usbd_desc.c **** {
145 .loc 1 371 8 view .LVU34
146 0030 B0F1204F cmp r0, #-1610612736
147 0034 E9D2 bcs .L9
373:Src/usbd_desc.c **** }
148 .loc 1 373 7 is_stmt 1 view .LVU35
373:Src/usbd_desc.c **** }
149 .loc 1 373 37 is_stmt 0 view .LVU36
150 0036 0CF1300C add ip, ip, #48
373:Src/usbd_desc.c **** }
151 .loc 1 373 21 view .LVU37
152 003a 01F813C0 strb ip, [r1, r3, lsl #1]
153 003e E8E7 b .L10
154 .L16:
383:Src/usbd_desc.c **** }
384:Src/usbd_desc.c **** }
155 .loc 1 384 1 view .LVU38
156 0040 5DF804FB ldr pc, [sp], #4
157 .L15:
158 .LCFI1:
159 .cfi_def_cfa_offset 0
160 .cfi_restore 14
161 .loc 1 384 1 view .LVU39
162 0044 7047 bx lr
163 .cfi_endproc
164 .LFE341:
166 .section .text.Get_SerialNum,"ax",%progbits
167 .align 1
168 .syntax unified
169 .thumb
170 .thumb_func
172 Get_SerialNum:
173 .LFB340:
340:Src/usbd_desc.c **** uint32_t deviceserial0;
174 .loc 1 340 1 is_stmt 1 view -0
175 .cfi_startproc
176 @ args = 0, pretend = 0, frame = 0
177 @ frame_needed = 0, uses_anonymous_args = 0
178 0000 38B5 push {r3, r4, r5, lr}
179 .LCFI2:
180 .cfi_def_cfa_offset 16
181 .cfi_offset 3, -16
182 .cfi_offset 4, -12
ARM GAS /tmp/ccDO9gP0.s page 11
183 .cfi_offset 5, -8
184 .cfi_offset 14, -4
341:Src/usbd_desc.c **** uint32_t deviceserial1;
185 .loc 1 341 3 view .LVU41
342:Src/usbd_desc.c **** uint32_t deviceserial2;
186 .loc 1 342 3 view .LVU42
343:Src/usbd_desc.c ****
187 .loc 1 343 3 view .LVU43
345:Src/usbd_desc.c **** deviceserial1 = *(uint32_t *) DEVICE_ID2;
188 .loc 1 345 3 view .LVU44
345:Src/usbd_desc.c **** deviceserial1 = *(uint32_t *) DEVICE_ID2;
189 .loc 1 345 17 is_stmt 0 view .LVU45
190 0002 0B4B ldr r3, .L21
191 0004 D3F89005 ldr r0, [r3, #1424]
192 .LVL9:
346:Src/usbd_desc.c **** deviceserial2 = *(uint32_t *) DEVICE_ID3;
193 .loc 1 346 3 is_stmt 1 view .LVU46
346:Src/usbd_desc.c **** deviceserial2 = *(uint32_t *) DEVICE_ID3;
194 .loc 1 346 17 is_stmt 0 view .LVU47
195 0008 D3F89445 ldr r4, [r3, #1428]
196 .LVL10:
347:Src/usbd_desc.c ****
197 .loc 1 347 3 is_stmt 1 view .LVU48
347:Src/usbd_desc.c ****
198 .loc 1 347 17 is_stmt 0 view .LVU49
199 000c D3F89835 ldr r3, [r3, #1432]
200 .LVL11:
349:Src/usbd_desc.c ****
201 .loc 1 349 3 is_stmt 1 view .LVU50
351:Src/usbd_desc.c **** {
202 .loc 1 351 3 view .LVU51
351:Src/usbd_desc.c **** {
203 .loc 1 351 6 is_stmt 0 view .LVU52
204 0010 C018 adds r0, r0, r3
205 .LVL12:
351:Src/usbd_desc.c **** {
206 .loc 1 351 6 view .LVU53
207 0012 00D1 bne .L20
208 .LVL13:
209 .L17:
356:Src/usbd_desc.c ****
210 .loc 1 356 1 view .LVU54
211 0014 38BD pop {r3, r4, r5, pc}
212 .LVL14:
213 .L20:
353:Src/usbd_desc.c **** IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4);
214 .loc 1 353 5 is_stmt 1 view .LVU55
215 0016 074D ldr r5, .L21+4
216 0018 0822 movs r2, #8
217 001a 2946 mov r1, r5
218 001c FFF7FEFF bl IntToUnicode
219 .LVL15:
354:Src/usbd_desc.c **** }
220 .loc 1 354 5 view .LVU56
221 0020 0422 movs r2, #4
222 0022 05F11001 add r1, r5, #16
223 0026 2046 mov r0, r4
ARM GAS /tmp/ccDO9gP0.s page 12
224 0028 FFF7FEFF bl IntToUnicode
225 .LVL16:
356:Src/usbd_desc.c ****
226 .loc 1 356 1 is_stmt 0 view .LVU57
227 002c F2E7 b .L17
228 .L22:
229 002e 00BF .align 2
230 .L21:
231 0030 0070FF1F .word 536834048
232 0034 02000000 .word USBD_StringSerial+2
233 .cfi_endproc
234 .LFE340:
236 .section .text.USBD_AUDIO_SerialStrDescriptor,"ax",%progbits
237 .align 1
238 .global USBD_AUDIO_SerialStrDescriptor
239 .syntax unified
240 .thumb
241 .thumb_func
243 USBD_AUDIO_SerialStrDescriptor:
244 .LVL17:
245 .LFB337:
281:Src/usbd_desc.c **** UNUSED(speed);
246 .loc 1 281 1 is_stmt 1 view -0
247 .cfi_startproc
248 @ args = 0, pretend = 0, frame = 0
249 @ frame_needed = 0, uses_anonymous_args = 0
281:Src/usbd_desc.c **** UNUSED(speed);
250 .loc 1 281 1 is_stmt 0 view .LVU59
251 0000 08B5 push {r3, lr}
252 .LCFI3:
253 .cfi_def_cfa_offset 8
254 .cfi_offset 3, -8
255 .cfi_offset 14, -4
282:Src/usbd_desc.c **** *length = USB_SIZ_STRING_SERIAL;
256 .loc 1 282 3 is_stmt 1 view .LVU60
283:Src/usbd_desc.c ****
257 .loc 1 283 3 view .LVU61
283:Src/usbd_desc.c ****
258 .loc 1 283 11 is_stmt 0 view .LVU62
259 0002 1A23 movs r3, #26
260 0004 0B80 strh r3, [r1] @ movhi
287:Src/usbd_desc.c ****
261 .loc 1 287 3 is_stmt 1 view .LVU63
262 0006 FFF7FEFF bl Get_SerialNum
263 .LVL18:
293:Src/usbd_desc.c **** }
264 .loc 1 293 3 view .LVU64
294:Src/usbd_desc.c ****
265 .loc 1 294 1 is_stmt 0 view .LVU65
266 000a 0148 ldr r0, .L25
267 000c 08BD pop {r3, pc}
268 .L26:
269 000e 00BF .align 2
270 .L25:
271 0010 00000000 .word USBD_StringSerial
272 .cfi_endproc
273 .LFE337:
ARM GAS /tmp/ccDO9gP0.s page 13
275 .section .rodata.USBD_AUDIO_ProductStrDescriptor.str1.4,"aMS",%progbits,1
276 .align 2
277 .LC0:
278 0000 53544D33 .ascii "STM32 Audio Class\000"
278 32204175
278 64696F20
278 436C6173
278 7300
279 .section .text.USBD_AUDIO_ProductStrDescriptor,"ax",%progbits
280 .align 1
281 .global USBD_AUDIO_ProductStrDescriptor
282 .syntax unified
283 .thumb
284 .thumb_func
286 USBD_AUDIO_ProductStrDescriptor:
287 .LVL19:
288 .LFB335:
249:Src/usbd_desc.c **** if(speed == 0)
289 .loc 1 249 1 is_stmt 1 view -0
290 .cfi_startproc
291 @ args = 0, pretend = 0, frame = 0
292 @ frame_needed = 0, uses_anonymous_args = 0
249:Src/usbd_desc.c **** if(speed == 0)
293 .loc 1 249 1 is_stmt 0 view .LVU67
294 0000 08B5 push {r3, lr}
295 .LCFI4:
296 .cfi_def_cfa_offset 8
297 .cfi_offset 3, -8
298 .cfi_offset 14, -4
299 0002 0A46 mov r2, r1
250:Src/usbd_desc.c **** {
300 .loc 1 250 3 is_stmt 1 view .LVU68
250:Src/usbd_desc.c **** {
301 .loc 1 250 5 is_stmt 0 view .LVU69
302 0004 28B9 cbnz r0, .L28
252:Src/usbd_desc.c **** }
303 .loc 1 252 5 is_stmt 1 view .LVU70
304 0006 0549 ldr r1, .L31
305 .LVL20:
252:Src/usbd_desc.c **** }
306 .loc 1 252 5 is_stmt 0 view .LVU71
307 0008 0548 ldr r0, .L31+4
308 .LVL21:
252:Src/usbd_desc.c **** }
309 .loc 1 252 5 view .LVU72
310 000a FFF7FEFF bl USBD_GetString
311 .LVL22:
312 .L29:
258:Src/usbd_desc.c **** }
313 .loc 1 258 3 is_stmt 1 view .LVU73
259:Src/usbd_desc.c ****
314 .loc 1 259 1 is_stmt 0 view .LVU74
315 000e 0348 ldr r0, .L31
316 0010 08BD pop {r3, pc}
317 .LVL23:
318 .L28:
256:Src/usbd_desc.c **** }
ARM GAS /tmp/ccDO9gP0.s page 14
319 .loc 1 256 5 is_stmt 1 view .LVU75
320 0012 0249 ldr r1, .L31
321 .LVL24:
256:Src/usbd_desc.c **** }
322 .loc 1 256 5 is_stmt 0 view .LVU76
323 0014 0248 ldr r0, .L31+4
324 .LVL25:
256:Src/usbd_desc.c **** }
325 .loc 1 256 5 view .LVU77
326 0016 FFF7FEFF bl USBD_GetString
327 .LVL26:
256:Src/usbd_desc.c **** }
328 .loc 1 256 5 view .LVU78
329 001a F8E7 b .L29
330 .L32:
331 .align 2
332 .L31:
333 001c 00000000 .word USBD_StrDesc
334 0020 00000000 .word .LC0
335 .cfi_endproc
336 .LFE335:
338 .section .rodata.USBD_AUDIO_ManufacturerStrDescriptor.str1.4,"aMS",%progbits,1
339 .align 2
340 .LC1:
341 0000 53544D69 .ascii "STMicroelectronics\000"
341 63726F65
341 6C656374
341 726F6E69
341 637300
342 .section .text.USBD_AUDIO_ManufacturerStrDescriptor,"ax",%progbits
343 .align 1
344 .global USBD_AUDIO_ManufacturerStrDescriptor
345 .syntax unified
346 .thumb
347 .thumb_func
349 USBD_AUDIO_ManufacturerStrDescriptor:
350 .LVL27:
351 .LFB336:
268:Src/usbd_desc.c **** UNUSED(speed);
352 .loc 1 268 1 is_stmt 1 view -0
353 .cfi_startproc
354 @ args = 0, pretend = 0, frame = 0
355 @ frame_needed = 0, uses_anonymous_args = 0
268:Src/usbd_desc.c **** UNUSED(speed);
356 .loc 1 268 1 is_stmt 0 view .LVU80
357 0000 10B5 push {r4, lr}
358 .LCFI5:
359 .cfi_def_cfa_offset 8
360 .cfi_offset 4, -8
361 .cfi_offset 14, -4
362 0002 0A46 mov r2, r1
269:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length);
363 .loc 1 269 3 is_stmt 1 view .LVU81
270:Src/usbd_desc.c **** return USBD_StrDesc;
364 .loc 1 270 3 view .LVU82
365 0004 034C ldr r4, .L35
366 0006 2146 mov r1, r4
ARM GAS /tmp/ccDO9gP0.s page 15
367 .LVL28:
270:Src/usbd_desc.c **** return USBD_StrDesc;
368 .loc 1 270 3 is_stmt 0 view .LVU83
369 0008 0348 ldr r0, .L35+4
370 .LVL29:
270:Src/usbd_desc.c **** return USBD_StrDesc;
371 .loc 1 270 3 view .LVU84
372 000a FFF7FEFF bl USBD_GetString
373 .LVL30:
271:Src/usbd_desc.c **** }
374 .loc 1 271 3 is_stmt 1 view .LVU85
272:Src/usbd_desc.c ****
375 .loc 1 272 1 is_stmt 0 view .LVU86
376 000e 2046 mov r0, r4
377 0010 10BD pop {r4, pc}
378 .L36:
379 0012 00BF .align 2
380 .L35:
381 0014 00000000 .word USBD_StrDesc
382 0018 00000000 .word .LC1
383 .cfi_endproc
384 .LFE336:
386 .section .rodata.USBD_AUDIO_ConfigStrDescriptor.str1.4,"aMS",%progbits,1
387 .align 2
388 .LC2:
389 0000 41554449 .ascii "AUDIO Config\000"
389 4F20436F
389 6E666967
389 00
390 .section .text.USBD_AUDIO_ConfigStrDescriptor,"ax",%progbits
391 .align 1
392 .global USBD_AUDIO_ConfigStrDescriptor
393 .syntax unified
394 .thumb
395 .thumb_func
397 USBD_AUDIO_ConfigStrDescriptor:
398 .LVL31:
399 .LFB338:
303:Src/usbd_desc.c **** if(speed == USBD_SPEED_HIGH)
400 .loc 1 303 1 is_stmt 1 view -0
401 .cfi_startproc
402 @ args = 0, pretend = 0, frame = 0
403 @ frame_needed = 0, uses_anonymous_args = 0
303:Src/usbd_desc.c **** if(speed == USBD_SPEED_HIGH)
404 .loc 1 303 1 is_stmt 0 view .LVU88
405 0000 08B5 push {r3, lr}
406 .LCFI6:
407 .cfi_def_cfa_offset 8
408 .cfi_offset 3, -8
409 .cfi_offset 14, -4
410 0002 0A46 mov r2, r1
304:Src/usbd_desc.c **** {
411 .loc 1 304 3 is_stmt 1 view .LVU89
304:Src/usbd_desc.c **** {
412 .loc 1 304 5 is_stmt 0 view .LVU90
413 0004 28B9 cbnz r0, .L38
306:Src/usbd_desc.c **** }
ARM GAS /tmp/ccDO9gP0.s page 16
414 .loc 1 306 5 is_stmt 1 view .LVU91
415 0006 0549 ldr r1, .L41
416 .LVL32:
306:Src/usbd_desc.c **** }
417 .loc 1 306 5 is_stmt 0 view .LVU92
418 0008 0548 ldr r0, .L41+4
419 .LVL33:
306:Src/usbd_desc.c **** }
420 .loc 1 306 5 view .LVU93
421 000a FFF7FEFF bl USBD_GetString
422 .LVL34:
423 .L39:
312:Src/usbd_desc.c **** }
424 .loc 1 312 3 is_stmt 1 view .LVU94
313:Src/usbd_desc.c ****
425 .loc 1 313 1 is_stmt 0 view .LVU95
426 000e 0348 ldr r0, .L41
427 0010 08BD pop {r3, pc}
428 .LVL35:
429 .L38:
310:Src/usbd_desc.c **** }
430 .loc 1 310 5 is_stmt 1 view .LVU96
431 0012 0249 ldr r1, .L41
432 .LVL36:
310:Src/usbd_desc.c **** }
433 .loc 1 310 5 is_stmt 0 view .LVU97
434 0014 0248 ldr r0, .L41+4
435 .LVL37:
310:Src/usbd_desc.c **** }
436 .loc 1 310 5 view .LVU98
437 0016 FFF7FEFF bl USBD_GetString
438 .LVL38:
310:Src/usbd_desc.c **** }
439 .loc 1 310 5 view .LVU99
440 001a F8E7 b .L39
441 .L42:
442 .align 2
443 .L41:
444 001c 00000000 .word USBD_StrDesc
445 0020 00000000 .word .LC2
446 .cfi_endproc
447 .LFE338:
449 .section .rodata.USBD_AUDIO_InterfaceStrDescriptor.str1.4,"aMS",%progbits,1
450 .align 2
451 .LC3:
452 0000 41554449 .ascii "AUDIO Interface\000"
452 4F20496E
452 74657266
452 61636500
453 .section .text.USBD_AUDIO_InterfaceStrDescriptor,"ax",%progbits
454 .align 1
455 .global USBD_AUDIO_InterfaceStrDescriptor
456 .syntax unified
457 .thumb
458 .thumb_func
460 USBD_AUDIO_InterfaceStrDescriptor:
461 .LVL39:
ARM GAS /tmp/ccDO9gP0.s page 17
462 .LFB339:
322:Src/usbd_desc.c **** if(speed == 0)
463 .loc 1 322 1 is_stmt 1 view -0
464 .cfi_startproc
465 @ args = 0, pretend = 0, frame = 0
466 @ frame_needed = 0, uses_anonymous_args = 0
322:Src/usbd_desc.c **** if(speed == 0)
467 .loc 1 322 1 is_stmt 0 view .LVU101
468 0000 08B5 push {r3, lr}
469 .LCFI7:
470 .cfi_def_cfa_offset 8
471 .cfi_offset 3, -8
472 .cfi_offset 14, -4
473 0002 0A46 mov r2, r1
323:Src/usbd_desc.c **** {
474 .loc 1 323 3 is_stmt 1 view .LVU102
323:Src/usbd_desc.c **** {
475 .loc 1 323 5 is_stmt 0 view .LVU103
476 0004 28B9 cbnz r0, .L44
325:Src/usbd_desc.c **** }
477 .loc 1 325 5 is_stmt 1 view .LVU104
478 0006 0549 ldr r1, .L47
479 .LVL40:
325:Src/usbd_desc.c **** }
480 .loc 1 325 5 is_stmt 0 view .LVU105
481 0008 0548 ldr r0, .L47+4
482 .LVL41:
325:Src/usbd_desc.c **** }
483 .loc 1 325 5 view .LVU106
484 000a FFF7FEFF bl USBD_GetString
485 .LVL42:
486 .L45:
331:Src/usbd_desc.c **** }
487 .loc 1 331 3 is_stmt 1 view .LVU107
332:Src/usbd_desc.c ****
488 .loc 1 332 1 is_stmt 0 view .LVU108
489 000e 0348 ldr r0, .L47
490 0010 08BD pop {r3, pc}
491 .LVL43:
492 .L44:
329:Src/usbd_desc.c **** }
493 .loc 1 329 5 is_stmt 1 view .LVU109
494 0012 0249 ldr r1, .L47
495 .LVL44:
329:Src/usbd_desc.c **** }
496 .loc 1 329 5 is_stmt 0 view .LVU110
497 0014 0248 ldr r0, .L47+4
498 .LVL45:
329:Src/usbd_desc.c **** }
499 .loc 1 329 5 view .LVU111
500 0016 FFF7FEFF bl USBD_GetString
501 .LVL46:
329:Src/usbd_desc.c **** }
502 .loc 1 329 5 view .LVU112
503 001a F8E7 b .L45
504 .L48:
505 .align 2
ARM GAS /tmp/ccDO9gP0.s page 18
506 .L47:
507 001c 00000000 .word USBD_StrDesc
508 0020 00000000 .word .LC3
509 .cfi_endproc
510 .LFE339:
512 .global USBD_StringSerial
513 .section .data.USBD_StringSerial,"aw"
514 .align 2
517 USBD_StringSerial:
518 0000 1A0300 .ascii "\032\003\000"
519 0003 00000000 .space 23
519 00000000
519 00000000
519 00000000
519 00000000
520 .global USBD_StrDesc
521 .section .bss.USBD_StrDesc,"aw",%nobits
522 .align 2
525 USBD_StrDesc:
526 0000 00000000 .space 512
526 00000000
526 00000000
526 00000000
526 00000000
527 .global USBD_LangIDDesc
528 .section .data.USBD_LangIDDesc,"aw"
529 .align 2
532 USBD_LangIDDesc:
533 0000 04030904 .ascii "\004\003\011\004"
534 .global USBD_AUDIO_DeviceDesc
535 .section .data.USBD_AUDIO_DeviceDesc,"aw"
536 .align 2
539 USBD_AUDIO_DeviceDesc:
540 0000 12010002 .ascii "\022\001\000\002\000\000\000@\203\004@W\000\002\001"
540 00000040
540 83044057
540 000201
541 000f 020301 .ascii "\002\003\001"
542 .global AUDIO_Desc
543 .section .data.AUDIO_Desc,"aw"
544 .align 2
547 AUDIO_Desc:
548 0000 00000000 .word USBD_AUDIO_DeviceDescriptor
549 0004 00000000 .word USBD_AUDIO_LangIDStrDescriptor
550 0008 00000000 .word USBD_AUDIO_ManufacturerStrDescriptor
551 000c 00000000 .word USBD_AUDIO_ProductStrDescriptor
552 0010 00000000 .word USBD_AUDIO_SerialStrDescriptor
553 0014 00000000 .word USBD_AUDIO_ConfigStrDescriptor
554 0018 00000000 .word USBD_AUDIO_InterfaceStrDescriptor
555 001c 00000000 .space 4
556 .text
557 .Letext0:
558 .file 2 "/usr/include/newlib/machine/_default_types.h"
559 .file 3 "/usr/include/newlib/sys/_stdint.h"
560 .file 4 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
561 .file 5 "Inc/usbd_desc.h"
562 .file 6 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h"
ARM GAS /tmp/ccDO9gP0.s page 19
ARM GAS /tmp/ccDO9gP0.s page 20
DEFINED SYMBOLS
*ABS*:00000000 usbd_desc.c
/tmp/ccDO9gP0.s:21 .text.USBD_AUDIO_DeviceDescriptor:00000000 $t
/tmp/ccDO9gP0.s:27 .text.USBD_AUDIO_DeviceDescriptor:00000000 USBD_AUDIO_DeviceDescriptor
/tmp/ccDO9gP0.s:49 .text.USBD_AUDIO_DeviceDescriptor:00000008 $d
/tmp/ccDO9gP0.s:539 .data.USBD_AUDIO_DeviceDesc:00000000 USBD_AUDIO_DeviceDesc
/tmp/ccDO9gP0.s:54 .text.USBD_AUDIO_LangIDStrDescriptor:00000000 $t
/tmp/ccDO9gP0.s:60 .text.USBD_AUDIO_LangIDStrDescriptor:00000000 USBD_AUDIO_LangIDStrDescriptor
/tmp/ccDO9gP0.s:82 .text.USBD_AUDIO_LangIDStrDescriptor:00000008 $d
/tmp/ccDO9gP0.s:532 .data.USBD_LangIDDesc:00000000 USBD_LangIDDesc
/tmp/ccDO9gP0.s:87 .text.IntToUnicode:00000000 $t
/tmp/ccDO9gP0.s:92 .text.IntToUnicode:00000000 IntToUnicode
/tmp/ccDO9gP0.s:167 .text.Get_SerialNum:00000000 $t
/tmp/ccDO9gP0.s:172 .text.Get_SerialNum:00000000 Get_SerialNum
/tmp/ccDO9gP0.s:231 .text.Get_SerialNum:00000030 $d
/tmp/ccDO9gP0.s:517 .data.USBD_StringSerial:00000000 USBD_StringSerial
/tmp/ccDO9gP0.s:237 .text.USBD_AUDIO_SerialStrDescriptor:00000000 $t
/tmp/ccDO9gP0.s:243 .text.USBD_AUDIO_SerialStrDescriptor:00000000 USBD_AUDIO_SerialStrDescriptor
/tmp/ccDO9gP0.s:271 .text.USBD_AUDIO_SerialStrDescriptor:00000010 $d
/tmp/ccDO9gP0.s:276 .rodata.USBD_AUDIO_ProductStrDescriptor.str1.4:00000000 $d
/tmp/ccDO9gP0.s:280 .text.USBD_AUDIO_ProductStrDescriptor:00000000 $t
/tmp/ccDO9gP0.s:286 .text.USBD_AUDIO_ProductStrDescriptor:00000000 USBD_AUDIO_ProductStrDescriptor
/tmp/ccDO9gP0.s:333 .text.USBD_AUDIO_ProductStrDescriptor:0000001c $d
/tmp/ccDO9gP0.s:525 .bss.USBD_StrDesc:00000000 USBD_StrDesc
/tmp/ccDO9gP0.s:339 .rodata.USBD_AUDIO_ManufacturerStrDescriptor.str1.4:00000000 $d
/tmp/ccDO9gP0.s:343 .text.USBD_AUDIO_ManufacturerStrDescriptor:00000000 $t
/tmp/ccDO9gP0.s:349 .text.USBD_AUDIO_ManufacturerStrDescriptor:00000000 USBD_AUDIO_ManufacturerStrDescriptor
/tmp/ccDO9gP0.s:381 .text.USBD_AUDIO_ManufacturerStrDescriptor:00000014 $d
/tmp/ccDO9gP0.s:387 .rodata.USBD_AUDIO_ConfigStrDescriptor.str1.4:00000000 $d
/tmp/ccDO9gP0.s:391 .text.USBD_AUDIO_ConfigStrDescriptor:00000000 $t
/tmp/ccDO9gP0.s:397 .text.USBD_AUDIO_ConfigStrDescriptor:00000000 USBD_AUDIO_ConfigStrDescriptor
/tmp/ccDO9gP0.s:444 .text.USBD_AUDIO_ConfigStrDescriptor:0000001c $d
/tmp/ccDO9gP0.s:450 .rodata.USBD_AUDIO_InterfaceStrDescriptor.str1.4:00000000 $d
/tmp/ccDO9gP0.s:454 .text.USBD_AUDIO_InterfaceStrDescriptor:00000000 $t
/tmp/ccDO9gP0.s:460 .text.USBD_AUDIO_InterfaceStrDescriptor:00000000 USBD_AUDIO_InterfaceStrDescriptor
/tmp/ccDO9gP0.s:507 .text.USBD_AUDIO_InterfaceStrDescriptor:0000001c $d
/tmp/ccDO9gP0.s:514 .data.USBD_StringSerial:00000000 $d
/tmp/ccDO9gP0.s:522 .bss.USBD_StrDesc:00000000 $d
/tmp/ccDO9gP0.s:529 .data.USBD_LangIDDesc:00000000 $d
/tmp/ccDO9gP0.s:536 .data.USBD_AUDIO_DeviceDesc:00000000 $d
/tmp/ccDO9gP0.s:547 .data.AUDIO_Desc:00000000 AUDIO_Desc
/tmp/ccDO9gP0.s:544 .data.AUDIO_Desc:00000000 $d
UNDEFINED SYMBOLS
USBD_GetString