
ARM GAS  C:\Users\mike\AppData\Local\Temp\cc23BiUe.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>&copy; 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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.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\cc23BiUe.s 			page 20


DEFINED SYMBOLS
                            *ABS*:0000000000000000 usbd_desc.c
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:16     .text.USBD_FS_DeviceDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:24     .text.USBD_FS_DeviceDescriptor:0000000000000000 USBD_FS_DeviceDescriptor
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:47     .text.USBD_FS_DeviceDescriptor:0000000000000008 $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:52     .text.USBD_FS_LangIDStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:59     .text.USBD_FS_LangIDStrDescriptor:0000000000000000 USBD_FS_LangIDStrDescriptor
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:81     .text.USBD_FS_LangIDStrDescriptor:0000000000000008 $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:86     .text.IntToUnicode:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:92     .text.IntToUnicode:0000000000000000 IntToUnicode
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:171    .text.Get_SerialNum:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:177    .text.Get_SerialNum:0000000000000000 Get_SerialNum
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:236    .text.Get_SerialNum:000000000000002c $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:242    .text.USBD_FS_SerialStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:249    .text.USBD_FS_SerialStrDescriptor:0000000000000000 USBD_FS_SerialStrDescriptor
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:277    .text.USBD_FS_SerialStrDescriptor:0000000000000010 $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:282    .text.USBD_FS_ProductStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:289    .text.USBD_FS_ProductStrDescriptor:0000000000000000 USBD_FS_ProductStrDescriptor
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:336    .text.USBD_FS_ProductStrDescriptor:000000000000001c $d
                            *COM*:0000000000000200 USBD_StrDesc
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:342    .text.USBD_FS_ManufacturerStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:349    .text.USBD_FS_ManufacturerStrDescriptor:0000000000000000 USBD_FS_ManufacturerStrDescriptor
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:381    .text.USBD_FS_ManufacturerStrDescriptor:0000000000000014 $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:387    .text.USBD_FS_ConfigStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:394    .text.USBD_FS_ConfigStrDescriptor:0000000000000000 USBD_FS_ConfigStrDescriptor
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:441    .text.USBD_FS_ConfigStrDescriptor:000000000000001c $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:447    .text.USBD_FS_InterfaceStrDescriptor:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:454    .text.USBD_FS_InterfaceStrDescriptor:0000000000000000 USBD_FS_InterfaceStrDescriptor
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:501    .text.USBD_FS_InterfaceStrDescriptor:000000000000001c $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:562    .data.USBD_StringSerial:0000000000000000 USBD_StringSerial
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:552    .data.USBD_LangIDDesc:0000000000000000 USBD_LangIDDesc
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:528    .data.USBD_FS_DeviceDesc:0000000000000000 USBD_FS_DeviceDesc
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:515    .data.FS_Desc:0000000000000000 FS_Desc
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:512    .data.FS_Desc:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:524    .data.USBD_FS_DeviceDesc:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:548    .data.USBD_LangIDDesc:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:558    .data.USBD_StringSerial:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:567    .rodata.USBD_FS_ConfigStrDescriptor.str1.4:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:571    .rodata.USBD_FS_InterfaceStrDescriptor.str1.4:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:575    .rodata.USBD_FS_ManufacturerStrDescriptor.str1.4:0000000000000000 $d
C:\Users\mike\AppData\Local\Temp\cc23BiUe.s:579    .rodata.USBD_FS_ProductStrDescriptor.str1.4:0000000000000000 $d

UNDEFINED SYMBOLS
USBD_GetString