Files
RFG_stm32_ADC_STM32F429/build/usbd_desc.lst

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