Rev 18 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 1
1 .cpu cortex-m3
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 1
10 .eabi_attribute 18, 4
11 .file "usbd_desc.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.USBD_FS_DeviceDescriptor,"ax",%progbits
16 .align 1
17 .global USBD_FS_DeviceDescriptor
18 .arch armv7-m
19 .syntax unified
20 .thumb
21 .thumb_func
22 .fpu softvfp
24 USBD_FS_DeviceDescriptor:
25 .LVL0:
26 .LFB68:
27 .file 1 "USB_DEVICE/App/usbd_desc.c"
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 : v2.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 **** * <h2><center>© Copyright (c) 2021 STMicroelectronics.
11:USB_DEVICE/App/usbd_desc.c **** * All rights reserved.</center></h2>
12:USB_DEVICE/App/usbd_desc.c **** *
13:USB_DEVICE/App/usbd_desc.c **** * This software component is licensed by ST under Ultimate Liberty license
14:USB_DEVICE/App/usbd_desc.c **** * SLA0044, the "License"; You may not use this file except in compliance with
15:USB_DEVICE/App/usbd_desc.c **** * the License. You may obtain a copy of the License at:
16:USB_DEVICE/App/usbd_desc.c **** * www.st.com/SLA0044
17:USB_DEVICE/App/usbd_desc.c **** *
18:USB_DEVICE/App/usbd_desc.c **** ******************************************************************************
19:USB_DEVICE/App/usbd_desc.c **** */
20:USB_DEVICE/App/usbd_desc.c **** /* USER CODE END Header */
21:USB_DEVICE/App/usbd_desc.c ****
22:USB_DEVICE/App/usbd_desc.c **** /* Includes ------------------------------------------------------------------*/
23:USB_DEVICE/App/usbd_desc.c **** #include "usbd_core.h"
24:USB_DEVICE/App/usbd_desc.c **** #include "usbd_desc.h"
25:USB_DEVICE/App/usbd_desc.c **** #include "usbd_conf.h"
26:USB_DEVICE/App/usbd_desc.c ****
27:USB_DEVICE/App/usbd_desc.c **** /* USER CODE BEGIN INCLUDE */
28:USB_DEVICE/App/usbd_desc.c ****
29:USB_DEVICE/App/usbd_desc.c **** /* USER CODE END INCLUDE */
30:USB_DEVICE/App/usbd_desc.c ****
31:USB_DEVICE/App/usbd_desc.c **** /* Private typedef -----------------------------------------------------------*/
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 2
32:USB_DEVICE/App/usbd_desc.c **** /* Private define ------------------------------------------------------------*/
33:USB_DEVICE/App/usbd_desc.c **** /* Private macro -------------------------------------------------------------*/
34:USB_DEVICE/App/usbd_desc.c ****
35:USB_DEVICE/App/usbd_desc.c **** /* USER CODE BEGIN PV */
36:USB_DEVICE/App/usbd_desc.c **** /* Private variables ---------------------------------------------------------*/
37:USB_DEVICE/App/usbd_desc.c ****
38:USB_DEVICE/App/usbd_desc.c **** /* USER CODE END PV */
39:USB_DEVICE/App/usbd_desc.c ****
40:USB_DEVICE/App/usbd_desc.c **** /** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
41:USB_DEVICE/App/usbd_desc.c **** * @{
42:USB_DEVICE/App/usbd_desc.c **** */
43:USB_DEVICE/App/usbd_desc.c ****
44:USB_DEVICE/App/usbd_desc.c **** /** @addtogroup USBD_DESC
45:USB_DEVICE/App/usbd_desc.c **** * @{
46:USB_DEVICE/App/usbd_desc.c **** */
47:USB_DEVICE/App/usbd_desc.c ****
48:USB_DEVICE/App/usbd_desc.c **** /** @defgroup USBD_DESC_Private_TypesDefinitions USBD_DESC_Private_TypesDefinitions
49:USB_DEVICE/App/usbd_desc.c **** * @brief Private types.
50:USB_DEVICE/App/usbd_desc.c **** * @{
51:USB_DEVICE/App/usbd_desc.c **** */
52:USB_DEVICE/App/usbd_desc.c ****
53:USB_DEVICE/App/usbd_desc.c **** /* USER CODE BEGIN PRIVATE_TYPES */
54:USB_DEVICE/App/usbd_desc.c ****
55:USB_DEVICE/App/usbd_desc.c **** /* USER CODE END PRIVATE_TYPES */
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 ****
61:USB_DEVICE/App/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Defines USBD_DESC_Private_Defines
62:USB_DEVICE/App/usbd_desc.c **** * @brief Private defines.
63:USB_DEVICE/App/usbd_desc.c **** * @{
64:USB_DEVICE/App/usbd_desc.c **** */
65:USB_DEVICE/App/usbd_desc.c ****
66:USB_DEVICE/App/usbd_desc.c **** #define USBD_VID 1155
67:USB_DEVICE/App/usbd_desc.c **** #define USBD_LANGID_STRING 1033
68:USB_DEVICE/App/usbd_desc.c **** #define USBD_MANUFACTURER_STRING "STMicroelectronics"
69:USB_DEVICE/App/usbd_desc.c **** #define USBD_PID_FS 22336
70:USB_DEVICE/App/usbd_desc.c **** #define USBD_PRODUCT_STRING_FS "STM32 Virtual ComPort"
71:USB_DEVICE/App/usbd_desc.c **** #define USBD_CONFIGURATION_STRING_FS "CDC Config"
72:USB_DEVICE/App/usbd_desc.c **** #define USBD_INTERFACE_STRING_FS "CDC Interface"
73:USB_DEVICE/App/usbd_desc.c ****
74:USB_DEVICE/App/usbd_desc.c **** /* USER CODE BEGIN PRIVATE_DEFINES */
75:USB_DEVICE/App/usbd_desc.c ****
76:USB_DEVICE/App/usbd_desc.c **** /* USER CODE END PRIVATE_DEFINES */
77:USB_DEVICE/App/usbd_desc.c ****
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 **** /* USER CODE BEGIN 0 */
83:USB_DEVICE/App/usbd_desc.c ****
84:USB_DEVICE/App/usbd_desc.c **** /* USER CODE END 0 */
85:USB_DEVICE/App/usbd_desc.c ****
86:USB_DEVICE/App/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Macros USBD_DESC_Private_Macros
87:USB_DEVICE/App/usbd_desc.c **** * @brief Private macros.
88:USB_DEVICE/App/usbd_desc.c **** * @{
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 3
89:USB_DEVICE/App/usbd_desc.c **** */
90:USB_DEVICE/App/usbd_desc.c ****
91:USB_DEVICE/App/usbd_desc.c **** /* USER CODE BEGIN PRIVATE_MACRO */
92:USB_DEVICE/App/usbd_desc.c ****
93:USB_DEVICE/App/usbd_desc.c **** /* USER CODE END PRIVATE_MACRO */
94:USB_DEVICE/App/usbd_desc.c ****
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 **** /** @defgroup USBD_DESC_Private_FunctionPrototypes USBD_DESC_Private_FunctionPrototypes
100:USB_DEVICE/App/usbd_desc.c **** * @brief Private functions declaration.
101:USB_DEVICE/App/usbd_desc.c **** * @{
102:USB_DEVICE/App/usbd_desc.c **** */
103:USB_DEVICE/App/usbd_desc.c ****
104:USB_DEVICE/App/usbd_desc.c **** static void Get_SerialNum(void);
105:USB_DEVICE/App/usbd_desc.c **** static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len);
106:USB_DEVICE/App/usbd_desc.c ****
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 **** /** @defgroup USBD_DESC_Private_FunctionPrototypes USBD_DESC_Private_FunctionPrototypes
112:USB_DEVICE/App/usbd_desc.c **** * @brief Private functions declaration for FS.
113:USB_DEVICE/App/usbd_desc.c **** * @{
114:USB_DEVICE/App/usbd_desc.c **** */
115:USB_DEVICE/App/usbd_desc.c ****
116:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
117:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
118:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
119:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
120:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
121:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
122:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
123:USB_DEVICE/App/usbd_desc.c ****
124:USB_DEVICE/App/usbd_desc.c **** /**
125:USB_DEVICE/App/usbd_desc.c **** * @}
126:USB_DEVICE/App/usbd_desc.c **** */
127:USB_DEVICE/App/usbd_desc.c ****
128:USB_DEVICE/App/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Variables USBD_DESC_Private_Variables
129:USB_DEVICE/App/usbd_desc.c **** * @brief Private variables.
130:USB_DEVICE/App/usbd_desc.c **** * @{
131:USB_DEVICE/App/usbd_desc.c **** */
132:USB_DEVICE/App/usbd_desc.c ****
133:USB_DEVICE/App/usbd_desc.c **** USBD_DescriptorsTypeDef FS_Desc =
134:USB_DEVICE/App/usbd_desc.c **** {
135:USB_DEVICE/App/usbd_desc.c **** USBD_FS_DeviceDescriptor
136:USB_DEVICE/App/usbd_desc.c **** , USBD_FS_LangIDStrDescriptor
137:USB_DEVICE/App/usbd_desc.c **** , USBD_FS_ManufacturerStrDescriptor
138:USB_DEVICE/App/usbd_desc.c **** , USBD_FS_ProductStrDescriptor
139:USB_DEVICE/App/usbd_desc.c **** , USBD_FS_SerialStrDescriptor
140:USB_DEVICE/App/usbd_desc.c **** , USBD_FS_ConfigStrDescriptor
141:USB_DEVICE/App/usbd_desc.c **** , USBD_FS_InterfaceStrDescriptor
142:USB_DEVICE/App/usbd_desc.c **** };
143:USB_DEVICE/App/usbd_desc.c ****
144:USB_DEVICE/App/usbd_desc.c **** #if defined ( __ICCARM__ ) /* IAR Compiler */
145:USB_DEVICE/App/usbd_desc.c **** #pragma data_alignment=4
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 4
146:USB_DEVICE/App/usbd_desc.c **** #endif /* defined ( __ICCARM__ ) */
147:USB_DEVICE/App/usbd_desc.c **** /** USB standard device descriptor. */
148:USB_DEVICE/App/usbd_desc.c **** __ALIGN_BEGIN uint8_t USBD_FS_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END =
149:USB_DEVICE/App/usbd_desc.c **** {
150:USB_DEVICE/App/usbd_desc.c **** 0x12, /*bLength */
151:USB_DEVICE/App/usbd_desc.c **** USB_DESC_TYPE_DEVICE, /*bDescriptorType*/
152:USB_DEVICE/App/usbd_desc.c **** 0x00, /*bcdUSB */
153:USB_DEVICE/App/usbd_desc.c **** 0x02,
154:USB_DEVICE/App/usbd_desc.c **** 0x02, /*bDeviceClass*/
155:USB_DEVICE/App/usbd_desc.c **** 0x02, /*bDeviceSubClass*/
156:USB_DEVICE/App/usbd_desc.c **** 0x00, /*bDeviceProtocol*/
157:USB_DEVICE/App/usbd_desc.c **** USB_MAX_EP0_SIZE, /*bMaxPacketSize*/
158:USB_DEVICE/App/usbd_desc.c **** LOBYTE(USBD_VID), /*idVendor*/
159:USB_DEVICE/App/usbd_desc.c **** HIBYTE(USBD_VID), /*idVendor*/
160:USB_DEVICE/App/usbd_desc.c **** LOBYTE(USBD_PID_FS), /*idProduct*/
161:USB_DEVICE/App/usbd_desc.c **** HIBYTE(USBD_PID_FS), /*idProduct*/
162:USB_DEVICE/App/usbd_desc.c **** 0x00, /*bcdDevice rel. 2.00*/
163:USB_DEVICE/App/usbd_desc.c **** 0x02,
164:USB_DEVICE/App/usbd_desc.c **** USBD_IDX_MFC_STR, /*Index of manufacturer string*/
165:USB_DEVICE/App/usbd_desc.c **** USBD_IDX_PRODUCT_STR, /*Index of product string*/
166:USB_DEVICE/App/usbd_desc.c **** USBD_IDX_SERIAL_STR, /*Index of serial number string*/
167:USB_DEVICE/App/usbd_desc.c **** USBD_MAX_NUM_CONFIGURATION /*bNumConfigurations*/
168:USB_DEVICE/App/usbd_desc.c **** };
169:USB_DEVICE/App/usbd_desc.c ****
170:USB_DEVICE/App/usbd_desc.c **** /* USB_DeviceDescriptor */
171:USB_DEVICE/App/usbd_desc.c ****
172:USB_DEVICE/App/usbd_desc.c **** /**
173:USB_DEVICE/App/usbd_desc.c **** * @}
174:USB_DEVICE/App/usbd_desc.c **** */
175:USB_DEVICE/App/usbd_desc.c ****
176:USB_DEVICE/App/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Variables USBD_DESC_Private_Variables
177:USB_DEVICE/App/usbd_desc.c **** * @brief Private variables.
178:USB_DEVICE/App/usbd_desc.c **** * @{
179:USB_DEVICE/App/usbd_desc.c **** */
180:USB_DEVICE/App/usbd_desc.c ****
181:USB_DEVICE/App/usbd_desc.c **** #if defined ( __ICCARM__ ) /* IAR Compiler */
182:USB_DEVICE/App/usbd_desc.c **** #pragma data_alignment=4
183:USB_DEVICE/App/usbd_desc.c **** #endif /* defined ( __ICCARM__ ) */
184:USB_DEVICE/App/usbd_desc.c ****
185:USB_DEVICE/App/usbd_desc.c **** /** USB lang indentifier descriptor. */
186:USB_DEVICE/App/usbd_desc.c **** __ALIGN_BEGIN uint8_t USBD_LangIDDesc[USB_LEN_LANGID_STR_DESC] __ALIGN_END =
187:USB_DEVICE/App/usbd_desc.c **** {
188:USB_DEVICE/App/usbd_desc.c **** USB_LEN_LANGID_STR_DESC,
189:USB_DEVICE/App/usbd_desc.c **** USB_DESC_TYPE_STRING,
190:USB_DEVICE/App/usbd_desc.c **** LOBYTE(USBD_LANGID_STRING),
191:USB_DEVICE/App/usbd_desc.c **** HIBYTE(USBD_LANGID_STRING)
192:USB_DEVICE/App/usbd_desc.c **** };
193:USB_DEVICE/App/usbd_desc.c ****
194:USB_DEVICE/App/usbd_desc.c **** #if defined ( __ICCARM__ ) /* IAR Compiler */
195:USB_DEVICE/App/usbd_desc.c **** #pragma data_alignment=4
196:USB_DEVICE/App/usbd_desc.c **** #endif /* defined ( __ICCARM__ ) */
197:USB_DEVICE/App/usbd_desc.c **** /* Internal string descriptor. */
198:USB_DEVICE/App/usbd_desc.c **** __ALIGN_BEGIN uint8_t USBD_StrDesc[USBD_MAX_STR_DESC_SIZ] __ALIGN_END;
199:USB_DEVICE/App/usbd_desc.c ****
200:USB_DEVICE/App/usbd_desc.c **** #if defined ( __ICCARM__ ) /*!< IAR Compiler */
201:USB_DEVICE/App/usbd_desc.c **** #pragma data_alignment=4
202:USB_DEVICE/App/usbd_desc.c **** #endif
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 5
203:USB_DEVICE/App/usbd_desc.c **** __ALIGN_BEGIN uint8_t USBD_StringSerial[USB_SIZ_STRING_SERIAL] __ALIGN_END = {
204:USB_DEVICE/App/usbd_desc.c **** USB_SIZ_STRING_SERIAL,
205:USB_DEVICE/App/usbd_desc.c **** USB_DESC_TYPE_STRING,
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 ****
212:USB_DEVICE/App/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Functions USBD_DESC_Private_Functions
213:USB_DEVICE/App/usbd_desc.c **** * @brief Private functions.
214:USB_DEVICE/App/usbd_desc.c **** * @{
215:USB_DEVICE/App/usbd_desc.c **** */
216:USB_DEVICE/App/usbd_desc.c ****
217:USB_DEVICE/App/usbd_desc.c **** /**
218:USB_DEVICE/App/usbd_desc.c **** * @brief Return the device descriptor
219:USB_DEVICE/App/usbd_desc.c **** * @param speed : Current device speed
220:USB_DEVICE/App/usbd_desc.c **** * @param length : Pointer to data length variable
221:USB_DEVICE/App/usbd_desc.c **** * @retval Pointer to descriptor buffer
222:USB_DEVICE/App/usbd_desc.c **** */
223:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
224:USB_DEVICE/App/usbd_desc.c **** {
28 .loc 1 224 1 view -0
29 .cfi_startproc
30 @ args = 0, pretend = 0, frame = 0
31 @ frame_needed = 0, uses_anonymous_args = 0
32 @ link register save eliminated.
225:USB_DEVICE/App/usbd_desc.c **** UNUSED(speed);
33 .loc 1 225 3 view .LVU1
226:USB_DEVICE/App/usbd_desc.c **** *length = sizeof(USBD_FS_DeviceDesc);
34 .loc 1 226 3 view .LVU2
35 .loc 1 226 11 is_stmt 0 view .LVU3
36 0000 1223 movs r3, #18
37 0002 0B80 strh r3, [r1] @ movhi
227:USB_DEVICE/App/usbd_desc.c **** return USBD_FS_DeviceDesc;
38 .loc 1 227 3 is_stmt 1 view .LVU4
228:USB_DEVICE/App/usbd_desc.c **** }
39 .loc 1 228 1 is_stmt 0 view .LVU5
40 0004 0048 ldr r0, .L2
41 .LVL1:
42 .loc 1 228 1 view .LVU6
43 0006 7047 bx lr
44 .L3:
45 .align 2
46 .L2:
47 0008 00000000 .word .LANCHOR0
48 .cfi_endproc
49 .LFE68:
51 .section .text.USBD_FS_LangIDStrDescriptor,"ax",%progbits
52 .align 1
53 .global USBD_FS_LangIDStrDescriptor
54 .syntax unified
55 .thumb
56 .thumb_func
57 .fpu softvfp
59 USBD_FS_LangIDStrDescriptor:
60 .LVL2:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 6
61 .LFB69:
229:USB_DEVICE/App/usbd_desc.c ****
230:USB_DEVICE/App/usbd_desc.c **** /**
231:USB_DEVICE/App/usbd_desc.c **** * @brief Return the LangID string descriptor
232:USB_DEVICE/App/usbd_desc.c **** * @param speed : Current device speed
233:USB_DEVICE/App/usbd_desc.c **** * @param length : Pointer to data length variable
234:USB_DEVICE/App/usbd_desc.c **** * @retval Pointer to descriptor buffer
235:USB_DEVICE/App/usbd_desc.c **** */
236:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
237:USB_DEVICE/App/usbd_desc.c **** {
62 .loc 1 237 1 is_stmt 1 view -0
63 .cfi_startproc
64 @ args = 0, pretend = 0, frame = 0
65 @ frame_needed = 0, uses_anonymous_args = 0
66 @ link register save eliminated.
238:USB_DEVICE/App/usbd_desc.c **** UNUSED(speed);
67 .loc 1 238 3 view .LVU8
239:USB_DEVICE/App/usbd_desc.c **** *length = sizeof(USBD_LangIDDesc);
68 .loc 1 239 3 view .LVU9
69 .loc 1 239 11 is_stmt 0 view .LVU10
70 0000 0423 movs r3, #4
71 0002 0B80 strh r3, [r1] @ movhi
240:USB_DEVICE/App/usbd_desc.c **** return USBD_LangIDDesc;
72 .loc 1 240 3 is_stmt 1 view .LVU11
241:USB_DEVICE/App/usbd_desc.c **** }
73 .loc 1 241 1 is_stmt 0 view .LVU12
74 0004 0048 ldr r0, .L5
75 .LVL3:
76 .loc 1 241 1 view .LVU13
77 0006 7047 bx lr
78 .L6:
79 .align 2
80 .L5:
81 0008 00000000 .word .LANCHOR1
82 .cfi_endproc
83 .LFE69:
85 .section .text.IntToUnicode,"ax",%progbits
86 .align 1
87 .syntax unified
88 .thumb
89 .thumb_func
90 .fpu softvfp
92 IntToUnicode:
93 .LVL4:
94 .LFB76:
242:USB_DEVICE/App/usbd_desc.c ****
243:USB_DEVICE/App/usbd_desc.c **** /**
244:USB_DEVICE/App/usbd_desc.c **** * @brief Return the product string descriptor
245:USB_DEVICE/App/usbd_desc.c **** * @param speed : Current device speed
246:USB_DEVICE/App/usbd_desc.c **** * @param length : Pointer to data length variable
247:USB_DEVICE/App/usbd_desc.c **** * @retval Pointer to descriptor buffer
248:USB_DEVICE/App/usbd_desc.c **** */
249:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
250:USB_DEVICE/App/usbd_desc.c **** {
251:USB_DEVICE/App/usbd_desc.c **** if(speed == 0)
252:USB_DEVICE/App/usbd_desc.c **** {
253:USB_DEVICE/App/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 7
254:USB_DEVICE/App/usbd_desc.c **** }
255:USB_DEVICE/App/usbd_desc.c **** else
256:USB_DEVICE/App/usbd_desc.c **** {
257:USB_DEVICE/App/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length);
258:USB_DEVICE/App/usbd_desc.c **** }
259:USB_DEVICE/App/usbd_desc.c **** return USBD_StrDesc;
260:USB_DEVICE/App/usbd_desc.c **** }
261:USB_DEVICE/App/usbd_desc.c ****
262:USB_DEVICE/App/usbd_desc.c **** /**
263:USB_DEVICE/App/usbd_desc.c **** * @brief Return the manufacturer string descriptor
264:USB_DEVICE/App/usbd_desc.c **** * @param speed : Current device speed
265:USB_DEVICE/App/usbd_desc.c **** * @param length : Pointer to data length variable
266:USB_DEVICE/App/usbd_desc.c **** * @retval Pointer to descriptor buffer
267:USB_DEVICE/App/usbd_desc.c **** */
268:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
269:USB_DEVICE/App/usbd_desc.c **** {
270:USB_DEVICE/App/usbd_desc.c **** UNUSED(speed);
271:USB_DEVICE/App/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length);
272:USB_DEVICE/App/usbd_desc.c **** return USBD_StrDesc;
273:USB_DEVICE/App/usbd_desc.c **** }
274:USB_DEVICE/App/usbd_desc.c ****
275:USB_DEVICE/App/usbd_desc.c **** /**
276:USB_DEVICE/App/usbd_desc.c **** * @brief Return the serial number string descriptor
277:USB_DEVICE/App/usbd_desc.c **** * @param speed : Current device speed
278:USB_DEVICE/App/usbd_desc.c **** * @param length : Pointer to data length variable
279:USB_DEVICE/App/usbd_desc.c **** * @retval Pointer to descriptor buffer
280:USB_DEVICE/App/usbd_desc.c **** */
281:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
282:USB_DEVICE/App/usbd_desc.c **** {
283:USB_DEVICE/App/usbd_desc.c **** UNUSED(speed);
284:USB_DEVICE/App/usbd_desc.c **** *length = USB_SIZ_STRING_SERIAL;
285:USB_DEVICE/App/usbd_desc.c ****
286:USB_DEVICE/App/usbd_desc.c **** /* Update the serial number string descriptor with the data from the unique
287:USB_DEVICE/App/usbd_desc.c **** * ID */
288:USB_DEVICE/App/usbd_desc.c **** Get_SerialNum();
289:USB_DEVICE/App/usbd_desc.c **** /* USER CODE BEGIN USBD_FS_SerialStrDescriptor */
290:USB_DEVICE/App/usbd_desc.c ****
291:USB_DEVICE/App/usbd_desc.c **** /* USER CODE END USBD_FS_SerialStrDescriptor */
292:USB_DEVICE/App/usbd_desc.c **** return (uint8_t *) USBD_StringSerial;
293:USB_DEVICE/App/usbd_desc.c **** }
294:USB_DEVICE/App/usbd_desc.c ****
295:USB_DEVICE/App/usbd_desc.c **** /**
296:USB_DEVICE/App/usbd_desc.c **** * @brief Return the configuration string descriptor
297:USB_DEVICE/App/usbd_desc.c **** * @param speed : Current device speed
298:USB_DEVICE/App/usbd_desc.c **** * @param length : Pointer to data length variable
299:USB_DEVICE/App/usbd_desc.c **** * @retval Pointer to descriptor buffer
300:USB_DEVICE/App/usbd_desc.c **** */
301:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
302:USB_DEVICE/App/usbd_desc.c **** {
303:USB_DEVICE/App/usbd_desc.c **** if(speed == USBD_SPEED_HIGH)
304:USB_DEVICE/App/usbd_desc.c **** {
305:USB_DEVICE/App/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_FS, USBD_StrDesc, length);
306:USB_DEVICE/App/usbd_desc.c **** }
307:USB_DEVICE/App/usbd_desc.c **** else
308:USB_DEVICE/App/usbd_desc.c **** {
309:USB_DEVICE/App/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_FS, USBD_StrDesc, length);
310:USB_DEVICE/App/usbd_desc.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 8
311:USB_DEVICE/App/usbd_desc.c **** return USBD_StrDesc;
312:USB_DEVICE/App/usbd_desc.c **** }
313:USB_DEVICE/App/usbd_desc.c ****
314:USB_DEVICE/App/usbd_desc.c **** /**
315:USB_DEVICE/App/usbd_desc.c **** * @brief Return the interface string descriptor
316:USB_DEVICE/App/usbd_desc.c **** * @param speed : Current device speed
317:USB_DEVICE/App/usbd_desc.c **** * @param length : Pointer to data length variable
318:USB_DEVICE/App/usbd_desc.c **** * @retval Pointer to descriptor buffer
319:USB_DEVICE/App/usbd_desc.c **** */
320:USB_DEVICE/App/usbd_desc.c **** uint8_t * USBD_FS_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
321:USB_DEVICE/App/usbd_desc.c **** {
322:USB_DEVICE/App/usbd_desc.c **** if(speed == 0)
323:USB_DEVICE/App/usbd_desc.c **** {
324:USB_DEVICE/App/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_FS, USBD_StrDesc, length);
325:USB_DEVICE/App/usbd_desc.c **** }
326:USB_DEVICE/App/usbd_desc.c **** else
327:USB_DEVICE/App/usbd_desc.c **** {
328:USB_DEVICE/App/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_FS, USBD_StrDesc, length);
329:USB_DEVICE/App/usbd_desc.c **** }
330:USB_DEVICE/App/usbd_desc.c **** return USBD_StrDesc;
331:USB_DEVICE/App/usbd_desc.c **** }
332:USB_DEVICE/App/usbd_desc.c ****
333:USB_DEVICE/App/usbd_desc.c **** /**
334:USB_DEVICE/App/usbd_desc.c **** * @brief Create the serial number string descriptor
335:USB_DEVICE/App/usbd_desc.c **** * @param None
336:USB_DEVICE/App/usbd_desc.c **** * @retval None
337:USB_DEVICE/App/usbd_desc.c **** */
338:USB_DEVICE/App/usbd_desc.c **** static void Get_SerialNum(void)
339:USB_DEVICE/App/usbd_desc.c **** {
340:USB_DEVICE/App/usbd_desc.c **** uint32_t deviceserial0, deviceserial1, deviceserial2;
341:USB_DEVICE/App/usbd_desc.c ****
342:USB_DEVICE/App/usbd_desc.c **** deviceserial0 = *(uint32_t *) DEVICE_ID1;
343:USB_DEVICE/App/usbd_desc.c **** deviceserial1 = *(uint32_t *) DEVICE_ID2;
344:USB_DEVICE/App/usbd_desc.c **** deviceserial2 = *(uint32_t *) DEVICE_ID3;
345:USB_DEVICE/App/usbd_desc.c ****
346:USB_DEVICE/App/usbd_desc.c **** deviceserial0 += deviceserial2;
347:USB_DEVICE/App/usbd_desc.c ****
348:USB_DEVICE/App/usbd_desc.c **** if (deviceserial0 != 0)
349:USB_DEVICE/App/usbd_desc.c **** {
350:USB_DEVICE/App/usbd_desc.c **** IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8);
351:USB_DEVICE/App/usbd_desc.c **** IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4);
352:USB_DEVICE/App/usbd_desc.c **** }
353:USB_DEVICE/App/usbd_desc.c **** }
354:USB_DEVICE/App/usbd_desc.c ****
355:USB_DEVICE/App/usbd_desc.c **** /**
356:USB_DEVICE/App/usbd_desc.c **** * @brief Convert Hex 32Bits value into char
357:USB_DEVICE/App/usbd_desc.c **** * @param value: value to convert
358:USB_DEVICE/App/usbd_desc.c **** * @param pbuf: pointer to the buffer
359:USB_DEVICE/App/usbd_desc.c **** * @param len: buffer length
360:USB_DEVICE/App/usbd_desc.c **** * @retval None
361:USB_DEVICE/App/usbd_desc.c **** */
362:USB_DEVICE/App/usbd_desc.c **** static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len)
363:USB_DEVICE/App/usbd_desc.c **** {
95 .loc 1 363 1 is_stmt 1 view -0
96 .cfi_startproc
97 @ args = 0, pretend = 0, frame = 0
98 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 9
99 @ link register save eliminated.
364:USB_DEVICE/App/usbd_desc.c **** uint8_t idx = 0;
100 .loc 1 364 3 view .LVU15
365:USB_DEVICE/App/usbd_desc.c ****
366:USB_DEVICE/App/usbd_desc.c **** for (idx = 0; idx < len; idx++)
101 .loc 1 366 3 view .LVU16
102 .loc 1 366 12 is_stmt 0 view .LVU17
103 0000 0023 movs r3, #0
104 .LVL5:
105 .loc 1 366 3 view .LVU18
106 0002 9342 cmp r3, r2
107 0004 16D2 bcs .L15
363:USB_DEVICE/App/usbd_desc.c **** uint8_t idx = 0;
108 .loc 1 363 1 view .LVU19
109 0006 30B4 push {r4, r5}
110 .LCFI0:
111 .cfi_def_cfa_offset 8
112 .cfi_offset 4, -8
113 .cfi_offset 5, -4
114 0008 0BE0 b .L11
115 .L9:
367:USB_DEVICE/App/usbd_desc.c **** {
368:USB_DEVICE/App/usbd_desc.c **** if (((value >> 28)) < 0xA)
369:USB_DEVICE/App/usbd_desc.c **** {
370:USB_DEVICE/App/usbd_desc.c **** pbuf[2 * idx] = (value >> 28) + '0';
371:USB_DEVICE/App/usbd_desc.c **** }
372:USB_DEVICE/App/usbd_desc.c **** else
373:USB_DEVICE/App/usbd_desc.c **** {
374:USB_DEVICE/App/usbd_desc.c **** pbuf[2 * idx] = (value >> 28) + 'A' - 10;
116 .loc 1 374 7 is_stmt 1 view .LVU20
117 .loc 1 374 43 is_stmt 0 view .LVU21
118 000a 3734 adds r4, r4, #55
119 .loc 1 374 21 view .LVU22
120 000c 01F81340 strb r4, [r1, r3, lsl #1]
121 .L10:
375:USB_DEVICE/App/usbd_desc.c **** }
376:USB_DEVICE/App/usbd_desc.c ****
377:USB_DEVICE/App/usbd_desc.c **** value = value << 4;
122 .loc 1 377 5 is_stmt 1 discriminator 2 view .LVU23
123 .loc 1 377 11 is_stmt 0 discriminator 2 view .LVU24
124 0010 0001 lsls r0, r0, #4
125 .LVL6:
378:USB_DEVICE/App/usbd_desc.c ****
379:USB_DEVICE/App/usbd_desc.c **** pbuf[2 * idx + 1] = 0;
126 .loc 1 379 5 is_stmt 1 discriminator 2 view .LVU25
127 .loc 1 379 12 is_stmt 0 discriminator 2 view .LVU26
128 0012 5C00 lsls r4, r3, #1
129 .loc 1 379 9 discriminator 2 view .LVU27
130 0014 0134 adds r4, r4, #1
131 .loc 1 379 23 discriminator 2 view .LVU28
132 0016 0025 movs r5, #0
133 0018 0D55 strb r5, [r1, r4]
366:USB_DEVICE/App/usbd_desc.c **** {
134 .loc 1 366 31 discriminator 2 view .LVU29
135 001a 0133 adds r3, r3, #1
136 .LVL7:
366:USB_DEVICE/App/usbd_desc.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 10
137 .loc 1 366 31 discriminator 2 view .LVU30
138 001c DBB2 uxtb r3, r3
139 .LVL8:
366:USB_DEVICE/App/usbd_desc.c **** {
140 .loc 1 366 3 discriminator 2 view .LVU31
141 001e 9342 cmp r3, r2
142 0020 06D2 bcs .L16
143 .L11:
368:USB_DEVICE/App/usbd_desc.c **** {
144 .loc 1 368 5 is_stmt 1 view .LVU32
368:USB_DEVICE/App/usbd_desc.c **** {
145 .loc 1 368 17 is_stmt 0 view .LVU33
146 0022 040F lsrs r4, r0, #28
368:USB_DEVICE/App/usbd_desc.c **** {
147 .loc 1 368 8 view .LVU34
148 0024 092C cmp r4, #9
149 0026 F0D8 bhi .L9
370:USB_DEVICE/App/usbd_desc.c **** }
150 .loc 1 370 7 is_stmt 1 view .LVU35
370:USB_DEVICE/App/usbd_desc.c **** }
151 .loc 1 370 37 is_stmt 0 view .LVU36
152 0028 3034 adds r4, r4, #48
370:USB_DEVICE/App/usbd_desc.c **** }
153 .loc 1 370 21 view .LVU37
154 002a 01F81340 strb r4, [r1, r3, lsl #1]
155 002e EFE7 b .L10
156 .L16:
380:USB_DEVICE/App/usbd_desc.c **** }
381:USB_DEVICE/App/usbd_desc.c **** }
157 .loc 1 381 1 view .LVU38
158 0030 30BC pop {r4, r5}
159 .LCFI1:
160 .cfi_restore 5
161 .cfi_restore 4
162 .cfi_def_cfa_offset 0
163 0032 7047 bx lr
164 .L15:
165 .loc 1 381 1 view .LVU39
166 0034 7047 bx lr
167 .cfi_endproc
168 .LFE76:
170 .section .text.Get_SerialNum,"ax",%progbits
171 .align 1
172 .syntax unified
173 .thumb
174 .thumb_func
175 .fpu softvfp
177 Get_SerialNum:
178 .LFB75:
339:USB_DEVICE/App/usbd_desc.c **** uint32_t deviceserial0, deviceserial1, deviceserial2;
179 .loc 1 339 1 is_stmt 1 view -0
180 .cfi_startproc
181 @ args = 0, pretend = 0, frame = 0
182 @ frame_needed = 0, uses_anonymous_args = 0
183 0000 38B5 push {r3, r4, r5, lr}
184 .LCFI2:
185 .cfi_def_cfa_offset 16
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 11
186 .cfi_offset 3, -16
187 .cfi_offset 4, -12
188 .cfi_offset 5, -8
189 .cfi_offset 14, -4
340:USB_DEVICE/App/usbd_desc.c ****
190 .loc 1 340 3 view .LVU41
342:USB_DEVICE/App/usbd_desc.c **** deviceserial1 = *(uint32_t *) DEVICE_ID2;
191 .loc 1 342 3 view .LVU42
342:USB_DEVICE/App/usbd_desc.c **** deviceserial1 = *(uint32_t *) DEVICE_ID2;
192 .loc 1 342 17 is_stmt 0 view .LVU43
193 0002 0A4B ldr r3, .L21
194 0004 1868 ldr r0, [r3]
195 .LVL9:
343:USB_DEVICE/App/usbd_desc.c **** deviceserial2 = *(uint32_t *) DEVICE_ID3;
196 .loc 1 343 3 is_stmt 1 view .LVU44
343:USB_DEVICE/App/usbd_desc.c **** deviceserial2 = *(uint32_t *) DEVICE_ID3;
197 .loc 1 343 17 is_stmt 0 view .LVU45
198 0006 0433 adds r3, r3, #4
199 0008 1C68 ldr r4, [r3]
200 .LVL10:
344:USB_DEVICE/App/usbd_desc.c ****
201 .loc 1 344 3 is_stmt 1 view .LVU46
344:USB_DEVICE/App/usbd_desc.c ****
202 .loc 1 344 17 is_stmt 0 view .LVU47
203 000a 0433 adds r3, r3, #4
204 000c 1B68 ldr r3, [r3]
205 .LVL11:
346:USB_DEVICE/App/usbd_desc.c ****
206 .loc 1 346 3 is_stmt 1 view .LVU48
348:USB_DEVICE/App/usbd_desc.c **** {
207 .loc 1 348 3 view .LVU49
348:USB_DEVICE/App/usbd_desc.c **** {
208 .loc 1 348 6 is_stmt 0 view .LVU50
209 000e C018 adds r0, r0, r3
210 .LVL12:
348:USB_DEVICE/App/usbd_desc.c **** {
211 .loc 1 348 6 view .LVU51
212 0010 00D1 bne .L20
213 .LVL13:
214 .L17:
353:USB_DEVICE/App/usbd_desc.c ****
215 .loc 1 353 1 view .LVU52
216 0012 38BD pop {r3, r4, r5, pc}
217 .LVL14:
218 .L20:
350:USB_DEVICE/App/usbd_desc.c **** IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4);
219 .loc 1 350 5 is_stmt 1 view .LVU53
220 0014 064D ldr r5, .L21+4
221 0016 0822 movs r2, #8
222 0018 A91C adds r1, r5, #2
223 001a FFF7FEFF bl IntToUnicode
224 .LVL15:
351:USB_DEVICE/App/usbd_desc.c **** }
225 .loc 1 351 5 view .LVU54
226 001e 0422 movs r2, #4
227 0020 05F11201 add r1, r5, #18
228 0024 2046 mov r0, r4
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 12
229 0026 FFF7FEFF bl IntToUnicode
230 .LVL16:
353:USB_DEVICE/App/usbd_desc.c ****
231 .loc 1 353 1 is_stmt 0 view .LVU55
232 002a F2E7 b .L17
233 .L22:
234 .align 2
235 .L21:
236 002c E8F7FF1F .word 536868840
237 0030 00000000 .word .LANCHOR2
238 .cfi_endproc
239 .LFE75:
241 .section .text.USBD_FS_SerialStrDescriptor,"ax",%progbits
242 .align 1
243 .global USBD_FS_SerialStrDescriptor
244 .syntax unified
245 .thumb
246 .thumb_func
247 .fpu softvfp
249 USBD_FS_SerialStrDescriptor:
250 .LVL17:
251 .LFB72:
282:USB_DEVICE/App/usbd_desc.c **** UNUSED(speed);
252 .loc 1 282 1 is_stmt 1 view -0
253 .cfi_startproc
254 @ args = 0, pretend = 0, frame = 0
255 @ frame_needed = 0, uses_anonymous_args = 0
282:USB_DEVICE/App/usbd_desc.c **** UNUSED(speed);
256 .loc 1 282 1 is_stmt 0 view .LVU57
257 0000 08B5 push {r3, lr}
258 .LCFI3:
259 .cfi_def_cfa_offset 8
260 .cfi_offset 3, -8
261 .cfi_offset 14, -4
283:USB_DEVICE/App/usbd_desc.c **** *length = USB_SIZ_STRING_SERIAL;
262 .loc 1 283 3 is_stmt 1 view .LVU58
284:USB_DEVICE/App/usbd_desc.c ****
263 .loc 1 284 3 view .LVU59
284:USB_DEVICE/App/usbd_desc.c ****
264 .loc 1 284 11 is_stmt 0 view .LVU60
265 0002 1A23 movs r3, #26
266 0004 0B80 strh r3, [r1] @ movhi
288:USB_DEVICE/App/usbd_desc.c **** /* USER CODE BEGIN USBD_FS_SerialStrDescriptor */
267 .loc 1 288 3 is_stmt 1 view .LVU61
268 0006 FFF7FEFF bl Get_SerialNum
269 .LVL18:
292:USB_DEVICE/App/usbd_desc.c **** }
270 .loc 1 292 3 view .LVU62
293:USB_DEVICE/App/usbd_desc.c ****
271 .loc 1 293 1 is_stmt 0 view .LVU63
272 000a 0148 ldr r0, .L25
273 000c 08BD pop {r3, pc}
274 .L26:
275 000e 00BF .align 2
276 .L25:
277 0010 00000000 .word .LANCHOR2
278 .cfi_endproc
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 13
279 .LFE72:
281 .section .text.USBD_FS_ProductStrDescriptor,"ax",%progbits
282 .align 1
283 .global USBD_FS_ProductStrDescriptor
284 .syntax unified
285 .thumb
286 .thumb_func
287 .fpu softvfp
289 USBD_FS_ProductStrDescriptor:
290 .LVL19:
291 .LFB70:
250:USB_DEVICE/App/usbd_desc.c **** if(speed == 0)
292 .loc 1 250 1 is_stmt 1 view -0
293 .cfi_startproc
294 @ args = 0, pretend = 0, frame = 0
295 @ frame_needed = 0, uses_anonymous_args = 0
250:USB_DEVICE/App/usbd_desc.c **** if(speed == 0)
296 .loc 1 250 1 is_stmt 0 view .LVU65
297 0000 08B5 push {r3, lr}
298 .LCFI4:
299 .cfi_def_cfa_offset 8
300 .cfi_offset 3, -8
301 .cfi_offset 14, -4
302 0002 0A46 mov r2, r1
251:USB_DEVICE/App/usbd_desc.c **** {
303 .loc 1 251 3 is_stmt 1 view .LVU66
251:USB_DEVICE/App/usbd_desc.c **** {
304 .loc 1 251 5 is_stmt 0 view .LVU67
305 0004 28B9 cbnz r0, .L28
253:USB_DEVICE/App/usbd_desc.c **** }
306 .loc 1 253 5 is_stmt 1 view .LVU68
307 0006 0549 ldr r1, .L31
308 .LVL20:
253:USB_DEVICE/App/usbd_desc.c **** }
309 .loc 1 253 5 is_stmt 0 view .LVU69
310 0008 0548 ldr r0, .L31+4
311 .LVL21:
253:USB_DEVICE/App/usbd_desc.c **** }
312 .loc 1 253 5 view .LVU70
313 000a FFF7FEFF bl USBD_GetString
314 .LVL22:
315 .L29:
259:USB_DEVICE/App/usbd_desc.c **** }
316 .loc 1 259 3 is_stmt 1 view .LVU71
260:USB_DEVICE/App/usbd_desc.c ****
317 .loc 1 260 1 is_stmt 0 view .LVU72
318 000e 0348 ldr r0, .L31
319 0010 08BD pop {r3, pc}
320 .LVL23:
321 .L28:
257:USB_DEVICE/App/usbd_desc.c **** }
322 .loc 1 257 5 is_stmt 1 view .LVU73
323 0012 0249 ldr r1, .L31
324 .LVL24:
257:USB_DEVICE/App/usbd_desc.c **** }
325 .loc 1 257 5 is_stmt 0 view .LVU74
326 0014 0248 ldr r0, .L31+4
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 14
327 .LVL25:
257:USB_DEVICE/App/usbd_desc.c **** }
328 .loc 1 257 5 view .LVU75
329 0016 FFF7FEFF bl USBD_GetString
330 .LVL26:
257:USB_DEVICE/App/usbd_desc.c **** }
331 .loc 1 257 5 view .LVU76
332 001a F8E7 b .L29
333 .L32:
334 .align 2
335 .L31:
336 001c 00000000 .word USBD_StrDesc
337 0020 00000000 .word .LC0
338 .cfi_endproc
339 .LFE70:
341 .section .text.USBD_FS_ManufacturerStrDescriptor,"ax",%progbits
342 .align 1
343 .global USBD_FS_ManufacturerStrDescriptor
344 .syntax unified
345 .thumb
346 .thumb_func
347 .fpu softvfp
349 USBD_FS_ManufacturerStrDescriptor:
350 .LVL27:
351 .LFB71:
269:USB_DEVICE/App/usbd_desc.c **** UNUSED(speed);
352 .loc 1 269 1 is_stmt 1 view -0
353 .cfi_startproc
354 @ args = 0, pretend = 0, frame = 0
355 @ frame_needed = 0, uses_anonymous_args = 0
269:USB_DEVICE/App/usbd_desc.c **** UNUSED(speed);
356 .loc 1 269 1 is_stmt 0 view .LVU78
357 0000 10B5 push {r4, lr}
358 .LCFI5:
359 .cfi_def_cfa_offset 8
360 .cfi_offset 4, -8
361 .cfi_offset 14, -4
270:USB_DEVICE/App/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length);
362 .loc 1 270 3 is_stmt 1 view .LVU79
271:USB_DEVICE/App/usbd_desc.c **** return USBD_StrDesc;
363 .loc 1 271 3 view .LVU80
364 0002 044C ldr r4, .L35
365 0004 0A46 mov r2, r1
366 0006 2146 mov r1, r4
367 .LVL28:
271:USB_DEVICE/App/usbd_desc.c **** return USBD_StrDesc;
368 .loc 1 271 3 is_stmt 0 view .LVU81
369 0008 0348 ldr r0, .L35+4
370 .LVL29:
271:USB_DEVICE/App/usbd_desc.c **** return USBD_StrDesc;
371 .loc 1 271 3 view .LVU82
372 000a FFF7FEFF bl USBD_GetString
373 .LVL30:
272:USB_DEVICE/App/usbd_desc.c **** }
374 .loc 1 272 3 is_stmt 1 view .LVU83
273:USB_DEVICE/App/usbd_desc.c ****
375 .loc 1 273 1 is_stmt 0 view .LVU84
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 15
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 .LFE71:
386 .section .text.USBD_FS_ConfigStrDescriptor,"ax",%progbits
387 .align 1
388 .global USBD_FS_ConfigStrDescriptor
389 .syntax unified
390 .thumb
391 .thumb_func
392 .fpu softvfp
394 USBD_FS_ConfigStrDescriptor:
395 .LVL31:
396 .LFB73:
302:USB_DEVICE/App/usbd_desc.c **** if(speed == USBD_SPEED_HIGH)
397 .loc 1 302 1 is_stmt 1 view -0
398 .cfi_startproc
399 @ args = 0, pretend = 0, frame = 0
400 @ frame_needed = 0, uses_anonymous_args = 0
302:USB_DEVICE/App/usbd_desc.c **** if(speed == USBD_SPEED_HIGH)
401 .loc 1 302 1 is_stmt 0 view .LVU86
402 0000 08B5 push {r3, lr}
403 .LCFI6:
404 .cfi_def_cfa_offset 8
405 .cfi_offset 3, -8
406 .cfi_offset 14, -4
407 0002 0A46 mov r2, r1
303:USB_DEVICE/App/usbd_desc.c **** {
408 .loc 1 303 3 is_stmt 1 view .LVU87
303:USB_DEVICE/App/usbd_desc.c **** {
409 .loc 1 303 5 is_stmt 0 view .LVU88
410 0004 28B9 cbnz r0, .L38
305:USB_DEVICE/App/usbd_desc.c **** }
411 .loc 1 305 5 is_stmt 1 view .LVU89
412 0006 0549 ldr r1, .L41
413 .LVL32:
305:USB_DEVICE/App/usbd_desc.c **** }
414 .loc 1 305 5 is_stmt 0 view .LVU90
415 0008 0548 ldr r0, .L41+4
416 .LVL33:
305:USB_DEVICE/App/usbd_desc.c **** }
417 .loc 1 305 5 view .LVU91
418 000a FFF7FEFF bl USBD_GetString
419 .LVL34:
420 .L39:
311:USB_DEVICE/App/usbd_desc.c **** }
421 .loc 1 311 3 is_stmt 1 view .LVU92
312:USB_DEVICE/App/usbd_desc.c ****
422 .loc 1 312 1 is_stmt 0 view .LVU93
423 000e 0348 ldr r0, .L41
424 0010 08BD pop {r3, pc}
425 .LVL35:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 16
426 .L38:
309:USB_DEVICE/App/usbd_desc.c **** }
427 .loc 1 309 5 is_stmt 1 view .LVU94
428 0012 0249 ldr r1, .L41
429 .LVL36:
309:USB_DEVICE/App/usbd_desc.c **** }
430 .loc 1 309 5 is_stmt 0 view .LVU95
431 0014 0248 ldr r0, .L41+4
432 .LVL37:
309:USB_DEVICE/App/usbd_desc.c **** }
433 .loc 1 309 5 view .LVU96
434 0016 FFF7FEFF bl USBD_GetString
435 .LVL38:
309:USB_DEVICE/App/usbd_desc.c **** }
436 .loc 1 309 5 view .LVU97
437 001a F8E7 b .L39
438 .L42:
439 .align 2
440 .L41:
441 001c 00000000 .word USBD_StrDesc
442 0020 00000000 .word .LC2
443 .cfi_endproc
444 .LFE73:
446 .section .text.USBD_FS_InterfaceStrDescriptor,"ax",%progbits
447 .align 1
448 .global USBD_FS_InterfaceStrDescriptor
449 .syntax unified
450 .thumb
451 .thumb_func
452 .fpu softvfp
454 USBD_FS_InterfaceStrDescriptor:
455 .LVL39:
456 .LFB74:
321:USB_DEVICE/App/usbd_desc.c **** if(speed == 0)
457 .loc 1 321 1 is_stmt 1 view -0
458 .cfi_startproc
459 @ args = 0, pretend = 0, frame = 0
460 @ frame_needed = 0, uses_anonymous_args = 0
321:USB_DEVICE/App/usbd_desc.c **** if(speed == 0)
461 .loc 1 321 1 is_stmt 0 view .LVU99
462 0000 08B5 push {r3, lr}
463 .LCFI7:
464 .cfi_def_cfa_offset 8
465 .cfi_offset 3, -8
466 .cfi_offset 14, -4
467 0002 0A46 mov r2, r1
322:USB_DEVICE/App/usbd_desc.c **** {
468 .loc 1 322 3 is_stmt 1 view .LVU100
322:USB_DEVICE/App/usbd_desc.c **** {
469 .loc 1 322 5 is_stmt 0 view .LVU101
470 0004 28B9 cbnz r0, .L44
324:USB_DEVICE/App/usbd_desc.c **** }
471 .loc 1 324 5 is_stmt 1 view .LVU102
472 0006 0549 ldr r1, .L47
473 .LVL40:
324:USB_DEVICE/App/usbd_desc.c **** }
474 .loc 1 324 5 is_stmt 0 view .LVU103
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 17
475 0008 0548 ldr r0, .L47+4
476 .LVL41:
324:USB_DEVICE/App/usbd_desc.c **** }
477 .loc 1 324 5 view .LVU104
478 000a FFF7FEFF bl USBD_GetString
479 .LVL42:
480 .L45:
330:USB_DEVICE/App/usbd_desc.c **** }
481 .loc 1 330 3 is_stmt 1 view .LVU105
331:USB_DEVICE/App/usbd_desc.c ****
482 .loc 1 331 1 is_stmt 0 view .LVU106
483 000e 0348 ldr r0, .L47
484 0010 08BD pop {r3, pc}
485 .LVL43:
486 .L44:
328:USB_DEVICE/App/usbd_desc.c **** }
487 .loc 1 328 5 is_stmt 1 view .LVU107
488 0012 0249 ldr r1, .L47
489 .LVL44:
328:USB_DEVICE/App/usbd_desc.c **** }
490 .loc 1 328 5 is_stmt 0 view .LVU108
491 0014 0248 ldr r0, .L47+4
492 .LVL45:
328:USB_DEVICE/App/usbd_desc.c **** }
493 .loc 1 328 5 view .LVU109
494 0016 FFF7FEFF bl USBD_GetString
495 .LVL46:
328:USB_DEVICE/App/usbd_desc.c **** }
496 .loc 1 328 5 view .LVU110
497 001a F8E7 b .L45
498 .L48:
499 .align 2
500 .L47:
501 001c 00000000 .word USBD_StrDesc
502 0020 00000000 .word .LC3
503 .cfi_endproc
504 .LFE74:
506 .global USBD_StringSerial
507 .comm USBD_StrDesc,512,4
508 .global USBD_LangIDDesc
509 .global USBD_FS_DeviceDesc
510 .global FS_Desc
511 .section .data.FS_Desc,"aw"
512 .align 2
515 FS_Desc:
516 0000 00000000 .word USBD_FS_DeviceDescriptor
517 0004 00000000 .word USBD_FS_LangIDStrDescriptor
518 0008 00000000 .word USBD_FS_ManufacturerStrDescriptor
519 000c 00000000 .word USBD_FS_ProductStrDescriptor
520 0010 00000000 .word USBD_FS_SerialStrDescriptor
521 0014 00000000 .word USBD_FS_ConfigStrDescriptor
522 0018 00000000 .word USBD_FS_InterfaceStrDescriptor
523 .section .data.USBD_FS_DeviceDesc,"aw"
524 .align 2
525 .set .LANCHOR0,. + 0
528 USBD_FS_DeviceDesc:
529 0000 12 .byte 18
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 18
530 0001 01 .byte 1
531 0002 00 .byte 0
532 0003 02 .byte 2
533 0004 02 .byte 2
534 0005 02 .byte 2
535 0006 00 .byte 0
536 0007 40 .byte 64
537 0008 83 .byte -125
538 0009 04 .byte 4
539 000a 40 .byte 64
540 000b 57 .byte 87
541 000c 00 .byte 0
542 000d 02 .byte 2
543 000e 01 .byte 1
544 000f 02 .byte 2
545 0010 03 .byte 3
546 0011 01 .byte 1
547 .section .data.USBD_LangIDDesc,"aw"
548 .align 2
549 .set .LANCHOR1,. + 0
552 USBD_LangIDDesc:
553 0000 04 .byte 4
554 0001 03 .byte 3
555 0002 09 .byte 9
556 0003 04 .byte 4
557 .section .data.USBD_StringSerial,"aw"
558 .align 2
559 .set .LANCHOR2,. + 0
562 USBD_StringSerial:
563 0000 1A .byte 26
564 0001 03 .byte 3
565 0002 00000000 .space 24
565 00000000
565 00000000
565 00000000
565 00000000
566 .section .rodata.USBD_FS_ConfigStrDescriptor.str1.4,"aMS",%progbits,1
567 .align 2
568 .LC2:
569 0000 43444320 .ascii "CDC Config\000"
569 436F6E66
569 696700
570 .section .rodata.USBD_FS_InterfaceStrDescriptor.str1.4,"aMS",%progbits,1
571 .align 2
572 .LC3:
573 0000 43444320 .ascii "CDC Interface\000"
573 496E7465
573 72666163
573 6500
574 .section .rodata.USBD_FS_ManufacturerStrDescriptor.str1.4,"aMS",%progbits,1
575 .align 2
576 .LC1:
577 0000 53544D69 .ascii "STMicroelectronics\000"
577 63726F65
577 6C656374
577 726F6E69
577 637300
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 19
578 .section .rodata.USBD_FS_ProductStrDescriptor.str1.4,"aMS",%progbits,1
579 .align 2
580 .LC0:
581 0000 53544D33 .ascii "STM32 Virtual ComPort\000"
581 32205669
581 72747561
581 6C20436F
581 6D506F72
582 .text
583 .Letext0:
584 .file 2 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
585 .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
586 .file 4 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
587 .file 5 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
588 .file 6 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
589 .file 7 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
590 .file 8 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
591 .file 9 "Drivers/CMSIS/Include/core_cm3.h"
592 .file 10 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
593 .file 11 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
594 .file 12 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
595 .file 13 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h"
596 .file 14 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h"
597 .file 15 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
598 .file 16 "Core/Inc/main.h"
599 .file 17 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
600 .file 18 "USB_DEVICE/App/usbd_desc.h"
601 .file 19 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h"
ARM GAS C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s page 20
DEFINED SYMBOLS
*ABS*:0000000000000000 usbd_desc.c
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:16 .text.USBD_FS_DeviceDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:24 .text.USBD_FS_DeviceDescriptor:0000000000000000 USBD_FS_DeviceDescriptor
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:47 .text.USBD_FS_DeviceDescriptor:0000000000000008 $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:52 .text.USBD_FS_LangIDStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:59 .text.USBD_FS_LangIDStrDescriptor:0000000000000000 USBD_FS_LangIDStrDescriptor
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:81 .text.USBD_FS_LangIDStrDescriptor:0000000000000008 $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:86 .text.IntToUnicode:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:92 .text.IntToUnicode:0000000000000000 IntToUnicode
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:171 .text.Get_SerialNum:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:177 .text.Get_SerialNum:0000000000000000 Get_SerialNum
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:236 .text.Get_SerialNum:000000000000002c $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:242 .text.USBD_FS_SerialStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:249 .text.USBD_FS_SerialStrDescriptor:0000000000000000 USBD_FS_SerialStrDescriptor
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:277 .text.USBD_FS_SerialStrDescriptor:0000000000000010 $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:282 .text.USBD_FS_ProductStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:289 .text.USBD_FS_ProductStrDescriptor:0000000000000000 USBD_FS_ProductStrDescriptor
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:336 .text.USBD_FS_ProductStrDescriptor:000000000000001c $d
*COM*:0000000000000200 USBD_StrDesc
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:342 .text.USBD_FS_ManufacturerStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:349 .text.USBD_FS_ManufacturerStrDescriptor:0000000000000000 USBD_FS_ManufacturerStrDescriptor
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:381 .text.USBD_FS_ManufacturerStrDescriptor:0000000000000014 $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:387 .text.USBD_FS_ConfigStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:394 .text.USBD_FS_ConfigStrDescriptor:0000000000000000 USBD_FS_ConfigStrDescriptor
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:441 .text.USBD_FS_ConfigStrDescriptor:000000000000001c $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:447 .text.USBD_FS_InterfaceStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:454 .text.USBD_FS_InterfaceStrDescriptor:0000000000000000 USBD_FS_InterfaceStrDescriptor
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:501 .text.USBD_FS_InterfaceStrDescriptor:000000000000001c $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:562 .data.USBD_StringSerial:0000000000000000 USBD_StringSerial
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:552 .data.USBD_LangIDDesc:0000000000000000 USBD_LangIDDesc
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:528 .data.USBD_FS_DeviceDesc:0000000000000000 USBD_FS_DeviceDesc
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:515 .data.FS_Desc:0000000000000000 FS_Desc
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:512 .data.FS_Desc:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:524 .data.USBD_FS_DeviceDesc:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:548 .data.USBD_LangIDDesc:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:558 .data.USBD_StringSerial:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:567 .rodata.USBD_FS_ConfigStrDescriptor.str1.4:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:571 .rodata.USBD_FS_InterfaceStrDescriptor.str1.4:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:575 .rodata.USBD_FS_ManufacturerStrDescriptor.str1.4:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\ccbEjnPZ.s:579 .rodata.USBD_FS_ProductStrDescriptor.str1.4:0000000000000000 $d
UNDEFINED SYMBOLS
USBD_GetString