Files
squeow/squeow_sw/build/usbd_desc.lst
2023-07-02 17:09:41 +02:00

1132 lines
48 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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