1132 lines
48 KiB
Plaintext
1132 lines
48 KiB
Plaintext
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
|