summaryrefslogtreecommitdiff
path: root/cdc-dials/build/usbd_desc.lst
diff options
context:
space:
mode:
authorJanHenrik <janhenrik@janhenrik.org>2020-04-01 00:40:03 +0200
committerJanHenrik <janhenrik@janhenrik.org>2020-04-01 00:40:03 +0200
commitf7de54fc6fa6b40dfa2dfbe4c2a8ee933affa126 (patch)
tree78465e38a01011dc9f17eb73416011310532017f /cdc-dials/build/usbd_desc.lst
parent3ec13d81e70e52246545c720abe756ccf09fb231 (diff)
downloadminikbd-f7de54fc6fa6b40dfa2dfbe4c2a8ee933affa126.tar.gz
minikbd-f7de54fc6fa6b40dfa2dfbe4c2a8ee933affa126.tar.bz2
minikbd-f7de54fc6fa6b40dfa2dfbe4c2a8ee933affa126.zip
added files
Diffstat (limited to 'cdc-dials/build/usbd_desc.lst')
-rw-r--r--cdc-dials/build/usbd_desc.lst868
1 files changed, 868 insertions, 0 deletions
diff --git a/cdc-dials/build/usbd_desc.lst b/cdc-dials/build/usbd_desc.lst
new file mode 100644
index 0000000..8b8add8
--- /dev/null
+++ b/cdc-dials/build/usbd_desc.lst
@@ -0,0 +1,868 @@
+ARM GAS /tmp/cck6myrA.s page 1
+
+
+ 1 .cpu cortex-m0
+ 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, 0
+ 10 .eabi_attribute 18, 4
+ 11 .file "usbd_desc.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.USBD_VCP_DeviceDescriptor,"ax",%progbits
+ 16 .align 1
+ 17 .global USBD_VCP_DeviceDescriptor
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 USBD_VCP_DeviceDescriptor:
+ 24 .LFB43:
+ 25 .file 1 "Src/usbd_desc.c"
+ 1:Src/usbd_desc.c **** /**
+ 2:Src/usbd_desc.c **** ******************************************************************************
+ 3:Src/usbd_desc.c **** * @file USB_Device/CDC_Standalone/Src/usbd_desc.c
+ 4:Src/usbd_desc.c **** * @author MCD Application Team
+ 5:Src/usbd_desc.c **** * @brief This file provides the USBD descriptors and string formating method.
+ 6:Src/usbd_desc.c **** ******************************************************************************
+ 7:Src/usbd_desc.c **** * @attention
+ 8:Src/usbd_desc.c **** *
+ 9:Src/usbd_desc.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics International N.V.
+ 10:Src/usbd_desc.c **** * All rights reserved.</center></h2>
+ 11:Src/usbd_desc.c **** *
+ 12:Src/usbd_desc.c **** * Redistribution and use in source and binary forms, with or without
+ 13:Src/usbd_desc.c **** * modification, are permitted, provided that the following conditions are met:
+ 14:Src/usbd_desc.c **** *
+ 15:Src/usbd_desc.c **** * 1. Redistribution of source code must retain the above copyright notice,
+ 16:Src/usbd_desc.c **** * this list of conditions and the following disclaimer.
+ 17:Src/usbd_desc.c **** * 2. Redistributions in binary form must reproduce the above copyright notice,
+ 18:Src/usbd_desc.c **** * this list of conditions and the following disclaimer in the documentation
+ 19:Src/usbd_desc.c **** * and/or other materials provided with the distribution.
+ 20:Src/usbd_desc.c **** * 3. Neither the name of STMicroelectronics nor the names of other
+ 21:Src/usbd_desc.c **** * contributors to this software may be used to endorse or promote products
+ 22:Src/usbd_desc.c **** * derived from this software without specific written permission.
+ 23:Src/usbd_desc.c **** * 4. This software, including modifications and/or derivative works of this
+ 24:Src/usbd_desc.c **** * software, must execute solely and exclusively on microcontroller or
+ 25:Src/usbd_desc.c **** * microprocessor devices manufactured by or for STMicroelectronics.
+ 26:Src/usbd_desc.c **** * 5. Redistribution and use of this software other than as permitted under
+ 27:Src/usbd_desc.c **** * this license is void and will automatically terminate your rights under
+ 28:Src/usbd_desc.c **** * this license.
+ 29:Src/usbd_desc.c **** *
+ 30:Src/usbd_desc.c **** * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
+ 31:Src/usbd_desc.c **** * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
+ 32:Src/usbd_desc.c **** * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+ 33:Src/usbd_desc.c **** * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ ARM GAS /tmp/cck6myrA.s page 2
+
+
+ 34:Src/usbd_desc.c **** * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
+ 35:Src/usbd_desc.c **** * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ 36:Src/usbd_desc.c **** * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ 37:Src/usbd_desc.c **** * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ 38:Src/usbd_desc.c **** * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ 39:Src/usbd_desc.c **** * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ 40:Src/usbd_desc.c **** * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ 41:Src/usbd_desc.c **** * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 42:Src/usbd_desc.c **** *
+ 43:Src/usbd_desc.c **** ******************************************************************************
+ 44:Src/usbd_desc.c **** */
+ 45:Src/usbd_desc.c ****
+ 46:Src/usbd_desc.c **** /* Includes ------------------------------------------------------------------*/
+ 47:Src/usbd_desc.c **** #include "usbd_core.h"
+ 48:Src/usbd_desc.c **** #include "usbd_desc.h"
+ 49:Src/usbd_desc.c **** #include "usbd_conf.h"
+ 50:Src/usbd_desc.c ****
+ 51:Src/usbd_desc.c **** /* Private typedef -----------------------------------------------------------*/
+ 52:Src/usbd_desc.c **** /* Private define ------------------------------------------------------------*/
+ 53:Src/usbd_desc.c **** #define USBD_VID 0x0483
+ 54:Src/usbd_desc.c **** #define USBD_PID 0x5740
+ 55:Src/usbd_desc.c **** #define USBD_LANGID_STRING 0x409
+ 56:Src/usbd_desc.c **** #define USBD_MANUFACTURER_STRING "Otter-Iron"
+ 57:Src/usbd_desc.c **** #define USBD_PRODUCT_FS_STRING "chirp :3"
+ 58:Src/usbd_desc.c **** #define USBD_CONFIGURATION_FS_STRING "mau"
+ 59:Src/usbd_desc.c **** #define USBD_INTERFACE_FS_STRING ":o"
+ 60:Src/usbd_desc.c ****
+ 61:Src/usbd_desc.c **** /* Private macro -------------------------------------------------------------*/
+ 62:Src/usbd_desc.c **** /* Private function prototypes -----------------------------------------------*/
+ 63:Src/usbd_desc.c **** uint8_t *USBD_VCP_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 64:Src/usbd_desc.c **** uint8_t *USBD_VCP_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 65:Src/usbd_desc.c **** uint8_t *USBD_VCP_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 66:Src/usbd_desc.c **** uint8_t *USBD_VCP_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 67:Src/usbd_desc.c **** uint8_t *USBD_VCP_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 68:Src/usbd_desc.c **** uint8_t *USBD_VCP_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 69:Src/usbd_desc.c **** uint8_t *USBD_VCP_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 70:Src/usbd_desc.c **** #ifdef USB_SUPPORT_USER_STRING_DESC
+ 71:Src/usbd_desc.c **** uint8_t *USBD_VCP_USRStringDesc (USBD_SpeedTypeDef speed, uint8_t idx, uint16_t *length);
+ 72:Src/usbd_desc.c **** #endif /* USB_SUPPORT_USER_STRING_DESC */
+ 73:Src/usbd_desc.c ****
+ 74:Src/usbd_desc.c **** /* Private variables ---------------------------------------------------------*/
+ 75:Src/usbd_desc.c **** USBD_DescriptorsTypeDef VCP_Desc = {
+ 76:Src/usbd_desc.c **** USBD_VCP_DeviceDescriptor,
+ 77:Src/usbd_desc.c **** USBD_VCP_LangIDStrDescriptor,
+ 78:Src/usbd_desc.c **** USBD_VCP_ManufacturerStrDescriptor,
+ 79:Src/usbd_desc.c **** USBD_VCP_ProductStrDescriptor,
+ 80:Src/usbd_desc.c **** USBD_VCP_SerialStrDescriptor,
+ 81:Src/usbd_desc.c **** USBD_VCP_ConfigStrDescriptor,
+ 82:Src/usbd_desc.c **** USBD_VCP_InterfaceStrDescriptor,
+ 83:Src/usbd_desc.c **** };
+ 84:Src/usbd_desc.c ****
+ 85:Src/usbd_desc.c **** /* USB Standard Device Descriptor */
+ 86:Src/usbd_desc.c **** const uint8_t hUSBDDeviceDesc[USB_LEN_DEV_DESC]= {
+ 87:Src/usbd_desc.c **** 0x12, /* bLength */
+ 88:Src/usbd_desc.c **** USB_DESC_TYPE_DEVICE, /* bDescriptorType */
+ 89:Src/usbd_desc.c **** 0x00, /* bcdUSB */
+ 90:Src/usbd_desc.c **** 0x02,
+ ARM GAS /tmp/cck6myrA.s page 3
+
+
+ 91:Src/usbd_desc.c **** 0x00, /* bDeviceClass */
+ 92:Src/usbd_desc.c **** 0x00, /* bDeviceSubClass */
+ 93:Src/usbd_desc.c **** 0x00, /* bDeviceProtocol */
+ 94:Src/usbd_desc.c **** USB_MAX_EP0_SIZE, /* bMaxPacketSize */
+ 95:Src/usbd_desc.c **** LOBYTE(USBD_VID), /* idVendor */
+ 96:Src/usbd_desc.c **** HIBYTE(USBD_VID), /* idVendor */
+ 97:Src/usbd_desc.c **** LOBYTE(USBD_PID), /* idVendor */
+ 98:Src/usbd_desc.c **** HIBYTE(USBD_PID), /* idVendor */
+ 99:Src/usbd_desc.c **** 0x00, /* bcdDevice rel. 2.00 */
+ 100:Src/usbd_desc.c **** 0x02,
+ 101:Src/usbd_desc.c **** USBD_IDX_MFC_STR, /* Index of manufacturer string */
+ 102:Src/usbd_desc.c **** USBD_IDX_PRODUCT_STR, /* Index of product string */
+ 103:Src/usbd_desc.c **** USBD_IDX_SERIAL_STR, /* Index of serial number string */
+ 104:Src/usbd_desc.c **** USBD_MAX_NUM_CONFIGURATION /* bNumConfigurations */
+ 105:Src/usbd_desc.c **** }; /* USB_DeviceDescriptor */
+ 106:Src/usbd_desc.c ****
+ 107:Src/usbd_desc.c **** /* USB Standard Device Descriptor */
+ 108:Src/usbd_desc.c **** const uint8_t USBD_LangIDDesc[USB_LEN_LANGID_STR_DESC]=
+ 109:Src/usbd_desc.c **** {
+ 110:Src/usbd_desc.c **** USB_LEN_LANGID_STR_DESC,
+ 111:Src/usbd_desc.c **** USB_DESC_TYPE_STRING,
+ 112:Src/usbd_desc.c **** LOBYTE(USBD_LANGID_STRING),
+ 113:Src/usbd_desc.c **** HIBYTE(USBD_LANGID_STRING),
+ 114:Src/usbd_desc.c **** };
+ 115:Src/usbd_desc.c ****
+ 116:Src/usbd_desc.c **** uint8_t USBD_StringSerial[USB_SIZ_STRING_SERIAL] =
+ 117:Src/usbd_desc.c **** {
+ 118:Src/usbd_desc.c **** USB_SIZ_STRING_SERIAL,
+ 119:Src/usbd_desc.c **** USB_DESC_TYPE_STRING,
+ 120:Src/usbd_desc.c **** };
+ 121:Src/usbd_desc.c ****
+ 122:Src/usbd_desc.c **** uint8_t USBD_StrDesc[USBD_MAX_STR_DESC_SIZ];
+ 123:Src/usbd_desc.c ****
+ 124:Src/usbd_desc.c **** /* Private functions ---------------------------------------------------------*/
+ 125:Src/usbd_desc.c **** static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len);
+ 126:Src/usbd_desc.c **** static void Get_SerialNum(void);
+ 127:Src/usbd_desc.c **** /**
+ 128:Src/usbd_desc.c **** * @brief Returns the device descriptor.
+ 129:Src/usbd_desc.c **** * @param speed: Current device speed
+ 130:Src/usbd_desc.c **** * @param length: Pointer to data length variable
+ 131:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 132:Src/usbd_desc.c **** */
+ 133:Src/usbd_desc.c **** uint8_t *USBD_VCP_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 134:Src/usbd_desc.c **** {
+ 26 .loc 1 134 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 @ link register save eliminated.
+ 31 .LVL0:
+ 135:Src/usbd_desc.c **** *length = sizeof(hUSBDDeviceDesc);
+ 32 .loc 1 135 0
+ 33 0000 1223 movs r3, #18
+ 34 0002 0B80 strh r3, [r1]
+ 136:Src/usbd_desc.c **** return (uint8_t*)hUSBDDeviceDesc;
+ 137:Src/usbd_desc.c **** }
+ 35 .loc 1 137 0
+ ARM GAS /tmp/cck6myrA.s page 4
+
+
+ 36 0004 0048 ldr r0, .L2
+ 37 .LVL1:
+ 38 @ sp needed
+ 39 0006 7047 bx lr
+ 40 .L3:
+ 41 .align 2
+ 42 .L2:
+ 43 0008 00000000 .word .LANCHOR0
+ 44 .cfi_endproc
+ 45 .LFE43:
+ 47 .section .text.USBD_VCP_LangIDStrDescriptor,"ax",%progbits
+ 48 .align 1
+ 49 .global USBD_VCP_LangIDStrDescriptor
+ 50 .syntax unified
+ 51 .code 16
+ 52 .thumb_func
+ 53 .fpu softvfp
+ 55 USBD_VCP_LangIDStrDescriptor:
+ 56 .LFB44:
+ 138:Src/usbd_desc.c ****
+ 139:Src/usbd_desc.c **** /**
+ 140:Src/usbd_desc.c **** * @brief Returns the LangID string descriptor.
+ 141:Src/usbd_desc.c **** * @param speed: Current device speed
+ 142:Src/usbd_desc.c **** * @param length: Pointer to data length variable
+ 143:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 144:Src/usbd_desc.c **** */
+ 145:Src/usbd_desc.c **** uint8_t *USBD_VCP_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 146:Src/usbd_desc.c **** {
+ 57 .loc 1 146 0
+ 58 .cfi_startproc
+ 59 @ args = 0, pretend = 0, frame = 0
+ 60 @ frame_needed = 0, uses_anonymous_args = 0
+ 61 @ link register save eliminated.
+ 62 .LVL2:
+ 147:Src/usbd_desc.c **** *length = sizeof(USBD_LangIDDesc);
+ 63 .loc 1 147 0
+ 64 0000 0423 movs r3, #4
+ 65 0002 0B80 strh r3, [r1]
+ 148:Src/usbd_desc.c **** return (uint8_t*)USBD_LangIDDesc;
+ 149:Src/usbd_desc.c **** }
+ 66 .loc 1 149 0
+ 67 0004 0048 ldr r0, .L5
+ 68 .LVL3:
+ 69 @ sp needed
+ 70 0006 7047 bx lr
+ 71 .L6:
+ 72 .align 2
+ 73 .L5:
+ 74 0008 00000000 .word .LANCHOR1
+ 75 .cfi_endproc
+ 76 .LFE44:
+ 78 .section .text.IntToUnicode,"ax",%progbits
+ 79 .align 1
+ 80 .syntax unified
+ 81 .code 16
+ 82 .thumb_func
+ 83 .fpu softvfp
+ ARM GAS /tmp/cck6myrA.s page 5
+
+
+ 85 IntToUnicode:
+ 86 .LFB51:
+ 150:Src/usbd_desc.c ****
+ 151:Src/usbd_desc.c **** /**
+ 152:Src/usbd_desc.c **** * @brief Returns the product string descriptor.
+ 153:Src/usbd_desc.c **** * @param speed: Current device speed
+ 154:Src/usbd_desc.c **** * @param length: Pointer to data length variable
+ 155:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 156:Src/usbd_desc.c **** */
+ 157:Src/usbd_desc.c **** uint8_t *USBD_VCP_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 158:Src/usbd_desc.c **** {
+ 159:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_PRODUCT_FS_STRING, USBD_StrDesc, length);
+ 160:Src/usbd_desc.c **** return USBD_StrDesc;
+ 161:Src/usbd_desc.c **** }
+ 162:Src/usbd_desc.c ****
+ 163:Src/usbd_desc.c **** /**
+ 164:Src/usbd_desc.c **** * @brief Returns the manufacturer string descriptor.
+ 165:Src/usbd_desc.c **** * @param speed: Current device speed
+ 166:Src/usbd_desc.c **** * @param length: Pointer to data length variable
+ 167:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 168:Src/usbd_desc.c **** */
+ 169:Src/usbd_desc.c **** uint8_t *USBD_VCP_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 170:Src/usbd_desc.c **** {
+ 171:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length);
+ 172:Src/usbd_desc.c **** return USBD_StrDesc;
+ 173:Src/usbd_desc.c **** }
+ 174:Src/usbd_desc.c ****
+ 175:Src/usbd_desc.c **** /**
+ 176:Src/usbd_desc.c **** * @brief Returns the serial number string descriptor.
+ 177:Src/usbd_desc.c **** * @param speed: Current device speed
+ 178:Src/usbd_desc.c **** * @param length: Pointer to data length variable
+ 179:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 180:Src/usbd_desc.c **** */
+ 181:Src/usbd_desc.c **** uint8_t *USBD_VCP_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 182:Src/usbd_desc.c **** {
+ 183:Src/usbd_desc.c **** *length = USB_SIZ_STRING_SERIAL;
+ 184:Src/usbd_desc.c ****
+ 185:Src/usbd_desc.c **** /* Update the serial number string descriptor with the data from the unique ID*/
+ 186:Src/usbd_desc.c **** Get_SerialNum();
+ 187:Src/usbd_desc.c ****
+ 188:Src/usbd_desc.c **** return USBD_StringSerial;
+ 189:Src/usbd_desc.c **** }
+ 190:Src/usbd_desc.c ****
+ 191:Src/usbd_desc.c **** /**
+ 192:Src/usbd_desc.c **** * @brief Returns the configuration string descriptor.
+ 193:Src/usbd_desc.c **** * @param speed: Current device speed
+ 194:Src/usbd_desc.c **** * @param length: Pointer to data length variable
+ 195:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 196:Src/usbd_desc.c **** */
+ 197:Src/usbd_desc.c **** uint8_t *USBD_VCP_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 198:Src/usbd_desc.c **** {
+ 199:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_CONFIGURATION_FS_STRING, USBD_StrDesc, length);
+ 200:Src/usbd_desc.c **** return USBD_StrDesc;
+ 201:Src/usbd_desc.c **** }
+ 202:Src/usbd_desc.c ****
+ 203:Src/usbd_desc.c **** /**
+ 204:Src/usbd_desc.c **** * @brief Returns the interface string descriptor.
+ ARM GAS /tmp/cck6myrA.s page 6
+
+
+ 205:Src/usbd_desc.c **** * @param speed: Current device speed
+ 206:Src/usbd_desc.c **** * @param length: Pointer to data length variable
+ 207:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 208:Src/usbd_desc.c **** */
+ 209:Src/usbd_desc.c **** uint8_t *USBD_VCP_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 210:Src/usbd_desc.c **** {
+ 211:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_INTERFACE_FS_STRING, USBD_StrDesc, length);
+ 212:Src/usbd_desc.c **** return USBD_StrDesc;
+ 213:Src/usbd_desc.c **** }
+ 214:Src/usbd_desc.c ****
+ 215:Src/usbd_desc.c **** /**
+ 216:Src/usbd_desc.c **** * @brief Create the serial number string descriptor
+ 217:Src/usbd_desc.c **** * @param None
+ 218:Src/usbd_desc.c **** * @retval None
+ 219:Src/usbd_desc.c **** */
+ 220:Src/usbd_desc.c **** static void Get_SerialNum(void)
+ 221:Src/usbd_desc.c **** {
+ 222:Src/usbd_desc.c **** uint32_t deviceserial0, deviceserial1, deviceserial2;
+ 223:Src/usbd_desc.c ****
+ 224:Src/usbd_desc.c **** deviceserial0 = *(uint32_t*)DEVICE_ID1;
+ 225:Src/usbd_desc.c **** deviceserial1 = *(uint32_t*)DEVICE_ID2;
+ 226:Src/usbd_desc.c **** deviceserial2 = *(uint32_t*)DEVICE_ID3;
+ 227:Src/usbd_desc.c ****
+ 228:Src/usbd_desc.c **** deviceserial0 += deviceserial2;
+ 229:Src/usbd_desc.c ****
+ 230:Src/usbd_desc.c **** if (deviceserial0 != 0)
+ 231:Src/usbd_desc.c **** {
+ 232:Src/usbd_desc.c **** IntToUnicode (deviceserial0, &USBD_StringSerial[2] ,8);
+ 233:Src/usbd_desc.c **** IntToUnicode (deviceserial1, &USBD_StringSerial[18] ,4);
+ 234:Src/usbd_desc.c **** }
+ 235:Src/usbd_desc.c **** }
+ 236:Src/usbd_desc.c ****
+ 237:Src/usbd_desc.c **** /**
+ 238:Src/usbd_desc.c **** * @brief Convert Hex 32Bits value into char
+ 239:Src/usbd_desc.c **** * @param value: value to convert
+ 240:Src/usbd_desc.c **** * @param pbuf: pointer to the buffer
+ 241:Src/usbd_desc.c **** * @param len: buffer length
+ 242:Src/usbd_desc.c **** * @retval None
+ 243:Src/usbd_desc.c **** */
+ 244:Src/usbd_desc.c **** static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len)
+ 245:Src/usbd_desc.c **** {
+ 87 .loc 1 245 0
+ 88 .cfi_startproc
+ 89 @ args = 0, pretend = 0, frame = 0
+ 90 @ frame_needed = 0, uses_anonymous_args = 0
+ 91 .LVL4:
+ 92 0000 30B5 push {r4, r5, lr}
+ 93 .LCFI0:
+ 94 .cfi_def_cfa_offset 12
+ 95 .cfi_offset 4, -12
+ 96 .cfi_offset 5, -8
+ 97 .cfi_offset 14, -4
+ 98 .LVL5:
+ 246:Src/usbd_desc.c **** uint8_t idx = 0;
+ 247:Src/usbd_desc.c ****
+ 248:Src/usbd_desc.c **** for( idx = 0 ; idx < len ; idx ++)
+ 99 .loc 1 248 0
+ ARM GAS /tmp/cck6myrA.s page 7
+
+
+ 100 0002 0023 movs r3, #0
+ 101 0004 0AE0 b .L8
+ 102 .LVL6:
+ 103 .L9:
+ 249:Src/usbd_desc.c **** {
+ 250:Src/usbd_desc.c **** if( ((value >> 28)) < 0xA )
+ 251:Src/usbd_desc.c **** {
+ 252:Src/usbd_desc.c **** pbuf[ 2* idx] = (value >> 28) + '0';
+ 253:Src/usbd_desc.c **** }
+ 254:Src/usbd_desc.c **** else
+ 255:Src/usbd_desc.c **** {
+ 256:Src/usbd_desc.c **** pbuf[2* idx] = (value >> 28) + 'A' - 10;
+ 104 .loc 1 256 0
+ 105 0006 5D00 lsls r5, r3, #1
+ 106 0008 3734 adds r4, r4, #55
+ 107 000a 4C55 strb r4, [r1, r5]
+ 108 .L10:
+ 257:Src/usbd_desc.c **** }
+ 258:Src/usbd_desc.c ****
+ 259:Src/usbd_desc.c **** value = value << 4;
+ 109 .loc 1 259 0 discriminator 2
+ 110 000c 0001 lsls r0, r0, #4
+ 111 .LVL7:
+ 260:Src/usbd_desc.c ****
+ 261:Src/usbd_desc.c **** pbuf[ 2* idx + 1] = 0;
+ 112 .loc 1 261 0 discriminator 2
+ 113 000e 5C00 lsls r4, r3, #1
+ 114 0010 0134 adds r4, r4, #1
+ 115 0012 0C19 adds r4, r1, r4
+ 116 0014 0025 movs r5, #0
+ 117 0016 2570 strb r5, [r4]
+ 248:Src/usbd_desc.c **** {
+ 118 .loc 1 248 0 discriminator 2
+ 119 0018 0133 adds r3, r3, #1
+ 120 .LVL8:
+ 121 001a DBB2 uxtb r3, r3
+ 122 .LVL9:
+ 123 .L8:
+ 248:Src/usbd_desc.c **** {
+ 124 .loc 1 248 0 is_stmt 0 discriminator 1
+ 125 001c 9342 cmp r3, r2
+ 126 001e 06D2 bcs .L12
+ 250:Src/usbd_desc.c **** {
+ 127 .loc 1 250 0 is_stmt 1
+ 128 0020 040F lsrs r4, r0, #28
+ 129 0022 092C cmp r4, #9
+ 130 0024 EFD8 bhi .L9
+ 252:Src/usbd_desc.c **** }
+ 131 .loc 1 252 0
+ 132 0026 5D00 lsls r5, r3, #1
+ 133 0028 3034 adds r4, r4, #48
+ 134 002a 4C55 strb r4, [r1, r5]
+ 135 002c EEE7 b .L10
+ 136 .L12:
+ 262:Src/usbd_desc.c **** }
+ 263:Src/usbd_desc.c **** }
+ 137 .loc 1 263 0
+ ARM GAS /tmp/cck6myrA.s page 8
+
+
+ 138 @ sp needed
+ 139 002e 30BD pop {r4, r5, pc}
+ 140 .cfi_endproc
+ 141 .LFE51:
+ 143 .section .text.Get_SerialNum,"ax",%progbits
+ 144 .align 1
+ 145 .syntax unified
+ 146 .code 16
+ 147 .thumb_func
+ 148 .fpu softvfp
+ 150 Get_SerialNum:
+ 151 .LFB50:
+ 221:Src/usbd_desc.c **** uint32_t deviceserial0, deviceserial1, deviceserial2;
+ 152 .loc 1 221 0
+ 153 .cfi_startproc
+ 154 @ args = 0, pretend = 0, frame = 0
+ 155 @ frame_needed = 0, uses_anonymous_args = 0
+ 156 0000 70B5 push {r4, r5, r6, lr}
+ 157 .LCFI1:
+ 158 .cfi_def_cfa_offset 16
+ 159 .cfi_offset 4, -16
+ 160 .cfi_offset 5, -12
+ 161 .cfi_offset 6, -8
+ 162 .cfi_offset 14, -4
+ 224:Src/usbd_desc.c **** deviceserial1 = *(uint32_t*)DEVICE_ID2;
+ 163 .loc 1 224 0
+ 164 0002 0B4B ldr r3, .L16
+ 165 0004 1868 ldr r0, [r3]
+ 166 .LVL10:
+ 225:Src/usbd_desc.c **** deviceserial2 = *(uint32_t*)DEVICE_ID3;
+ 167 .loc 1 225 0
+ 168 0006 0B4B ldr r3, .L16+4
+ 169 0008 1D68 ldr r5, [r3]
+ 170 .LVL11:
+ 226:Src/usbd_desc.c ****
+ 171 .loc 1 226 0
+ 172 000a 0B4B ldr r3, .L16+8
+ 173 000c 1B68 ldr r3, [r3]
+ 174 .LVL12:
+ 228:Src/usbd_desc.c ****
+ 175 .loc 1 228 0
+ 176 000e C018 adds r0, r0, r3
+ 177 .LVL13:
+ 230:Src/usbd_desc.c **** {
+ 178 .loc 1 230 0
+ 179 0010 0028 cmp r0, #0
+ 180 0012 00D1 bne .L15
+ 181 .LVL14:
+ 182 .L13:
+ 235:Src/usbd_desc.c ****
+ 183 .loc 1 235 0
+ 184 @ sp needed
+ 185 .LVL15:
+ 186 0014 70BD pop {r4, r5, r6, pc}
+ 187 .LVL16:
+ 188 .L15:
+ 232:Src/usbd_desc.c **** IntToUnicode (deviceserial1, &USBD_StringSerial[18] ,4);
+ ARM GAS /tmp/cck6myrA.s page 9
+
+
+ 189 .loc 1 232 0
+ 190 0016 094C ldr r4, .L16+12
+ 191 0018 A11C adds r1, r4, #2
+ 192 001a 0822 movs r2, #8
+ 193 001c FFF7FEFF bl IntToUnicode
+ 194 .LVL17:
+ 233:Src/usbd_desc.c **** }
+ 195 .loc 1 233 0
+ 196 0020 2100 movs r1, r4
+ 197 0022 1231 adds r1, r1, #18
+ 198 0024 0422 movs r2, #4
+ 199 0026 2800 movs r0, r5
+ 200 0028 FFF7FEFF bl IntToUnicode
+ 201 .LVL18:
+ 235:Src/usbd_desc.c ****
+ 202 .loc 1 235 0
+ 203 002c F2E7 b .L13
+ 204 .L17:
+ 205 002e C046 .align 2
+ 206 .L16:
+ 207 0030 ACF7FF1F .word 536868780
+ 208 0034 B0F7FF1F .word 536868784
+ 209 0038 B4F7FF1F .word 536868788
+ 210 003c 00000000 .word .LANCHOR2
+ 211 .cfi_endproc
+ 212 .LFE50:
+ 214 .section .text.USBD_VCP_SerialStrDescriptor,"ax",%progbits
+ 215 .align 1
+ 216 .global USBD_VCP_SerialStrDescriptor
+ 217 .syntax unified
+ 218 .code 16
+ 219 .thumb_func
+ 220 .fpu softvfp
+ 222 USBD_VCP_SerialStrDescriptor:
+ 223 .LFB47:
+ 182:Src/usbd_desc.c **** *length = USB_SIZ_STRING_SERIAL;
+ 224 .loc 1 182 0
+ 225 .cfi_startproc
+ 226 @ args = 0, pretend = 0, frame = 0
+ 227 @ frame_needed = 0, uses_anonymous_args = 0
+ 228 .LVL19:
+ 229 0000 10B5 push {r4, lr}
+ 230 .LCFI2:
+ 231 .cfi_def_cfa_offset 8
+ 232 .cfi_offset 4, -8
+ 233 .cfi_offset 14, -4
+ 183:Src/usbd_desc.c ****
+ 234 .loc 1 183 0
+ 235 0002 1A23 movs r3, #26
+ 236 0004 0B80 strh r3, [r1]
+ 186:Src/usbd_desc.c ****
+ 237 .loc 1 186 0
+ 238 0006 FFF7FEFF bl Get_SerialNum
+ 239 .LVL20:
+ 189:Src/usbd_desc.c ****
+ 240 .loc 1 189 0
+ 241 000a 0148 ldr r0, .L19
+ ARM GAS /tmp/cck6myrA.s page 10
+
+
+ 242 @ sp needed
+ 243 000c 10BD pop {r4, pc}
+ 244 .L20:
+ 245 000e C046 .align 2
+ 246 .L19:
+ 247 0010 00000000 .word .LANCHOR2
+ 248 .cfi_endproc
+ 249 .LFE47:
+ 251 .section .text.USBD_VCP_ProductStrDescriptor,"ax",%progbits
+ 252 .align 1
+ 253 .global USBD_VCP_ProductStrDescriptor
+ 254 .syntax unified
+ 255 .code 16
+ 256 .thumb_func
+ 257 .fpu softvfp
+ 259 USBD_VCP_ProductStrDescriptor:
+ 260 .LFB45:
+ 158:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_PRODUCT_FS_STRING, USBD_StrDesc, length);
+ 261 .loc 1 158 0
+ 262 .cfi_startproc
+ 263 @ args = 0, pretend = 0, frame = 0
+ 264 @ frame_needed = 0, uses_anonymous_args = 0
+ 265 .LVL21:
+ 266 0000 10B5 push {r4, lr}
+ 267 .LCFI3:
+ 268 .cfi_def_cfa_offset 8
+ 269 .cfi_offset 4, -8
+ 270 .cfi_offset 14, -4
+ 271 0002 0A00 movs r2, r1
+ 159:Src/usbd_desc.c **** return USBD_StrDesc;
+ 272 .loc 1 159 0
+ 273 0004 034C ldr r4, .L22
+ 274 0006 2100 movs r1, r4
+ 275 .LVL22:
+ 276 0008 0348 ldr r0, .L22+4
+ 277 .LVL23:
+ 278 000a FFF7FEFF bl USBD_GetString
+ 279 .LVL24:
+ 161:Src/usbd_desc.c ****
+ 280 .loc 1 161 0
+ 281 000e 2000 movs r0, r4
+ 282 @ sp needed
+ 283 0010 10BD pop {r4, pc}
+ 284 .L23:
+ 285 0012 C046 .align 2
+ 286 .L22:
+ 287 0014 00000000 .word USBD_StrDesc
+ 288 0018 00000000 .word .LC7
+ 289 .cfi_endproc
+ 290 .LFE45:
+ 292 .section .text.USBD_VCP_ManufacturerStrDescriptor,"ax",%progbits
+ 293 .align 1
+ 294 .global USBD_VCP_ManufacturerStrDescriptor
+ 295 .syntax unified
+ 296 .code 16
+ 297 .thumb_func
+ 298 .fpu softvfp
+ ARM GAS /tmp/cck6myrA.s page 11
+
+
+ 300 USBD_VCP_ManufacturerStrDescriptor:
+ 301 .LFB46:
+ 170:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length);
+ 302 .loc 1 170 0
+ 303 .cfi_startproc
+ 304 @ args = 0, pretend = 0, frame = 0
+ 305 @ frame_needed = 0, uses_anonymous_args = 0
+ 306 .LVL25:
+ 307 0000 10B5 push {r4, lr}
+ 308 .LCFI4:
+ 309 .cfi_def_cfa_offset 8
+ 310 .cfi_offset 4, -8
+ 311 .cfi_offset 14, -4
+ 312 0002 0A00 movs r2, r1
+ 171:Src/usbd_desc.c **** return USBD_StrDesc;
+ 313 .loc 1 171 0
+ 314 0004 034C ldr r4, .L25
+ 315 0006 2100 movs r1, r4
+ 316 .LVL26:
+ 317 0008 0348 ldr r0, .L25+4
+ 318 .LVL27:
+ 319 000a FFF7FEFF bl USBD_GetString
+ 320 .LVL28:
+ 173:Src/usbd_desc.c ****
+ 321 .loc 1 173 0
+ 322 000e 2000 movs r0, r4
+ 323 @ sp needed
+ 324 0010 10BD pop {r4, pc}
+ 325 .L26:
+ 326 0012 C046 .align 2
+ 327 .L25:
+ 328 0014 00000000 .word USBD_StrDesc
+ 329 0018 00000000 .word .LC10
+ 330 .cfi_endproc
+ 331 .LFE46:
+ 333 .section .text.USBD_VCP_ConfigStrDescriptor,"ax",%progbits
+ 334 .align 1
+ 335 .global USBD_VCP_ConfigStrDescriptor
+ 336 .syntax unified
+ 337 .code 16
+ 338 .thumb_func
+ 339 .fpu softvfp
+ 341 USBD_VCP_ConfigStrDescriptor:
+ 342 .LFB48:
+ 198:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_CONFIGURATION_FS_STRING, USBD_StrDesc, length);
+ 343 .loc 1 198 0
+ 344 .cfi_startproc
+ 345 @ args = 0, pretend = 0, frame = 0
+ 346 @ frame_needed = 0, uses_anonymous_args = 0
+ 347 .LVL29:
+ 348 0000 10B5 push {r4, lr}
+ 349 .LCFI5:
+ 350 .cfi_def_cfa_offset 8
+ 351 .cfi_offset 4, -8
+ 352 .cfi_offset 14, -4
+ 353 0002 0A00 movs r2, r1
+ 199:Src/usbd_desc.c **** return USBD_StrDesc;
+ ARM GAS /tmp/cck6myrA.s page 12
+
+
+ 354 .loc 1 199 0
+ 355 0004 034C ldr r4, .L28
+ 356 0006 2100 movs r1, r4
+ 357 .LVL30:
+ 358 0008 0348 ldr r0, .L28+4
+ 359 .LVL31:
+ 360 000a FFF7FEFF bl USBD_GetString
+ 361 .LVL32:
+ 201:Src/usbd_desc.c ****
+ 362 .loc 1 201 0
+ 363 000e 2000 movs r0, r4
+ 364 @ sp needed
+ 365 0010 10BD pop {r4, pc}
+ 366 .L29:
+ 367 0012 C046 .align 2
+ 368 .L28:
+ 369 0014 00000000 .word USBD_StrDesc
+ 370 0018 00000000 .word .LC13
+ 371 .cfi_endproc
+ 372 .LFE48:
+ 374 .section .text.USBD_VCP_InterfaceStrDescriptor,"ax",%progbits
+ 375 .align 1
+ 376 .global USBD_VCP_InterfaceStrDescriptor
+ 377 .syntax unified
+ 378 .code 16
+ 379 .thumb_func
+ 380 .fpu softvfp
+ 382 USBD_VCP_InterfaceStrDescriptor:
+ 383 .LFB49:
+ 210:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_INTERFACE_FS_STRING, USBD_StrDesc, length);
+ 384 .loc 1 210 0
+ 385 .cfi_startproc
+ 386 @ args = 0, pretend = 0, frame = 0
+ 387 @ frame_needed = 0, uses_anonymous_args = 0
+ 388 .LVL33:
+ 389 0000 10B5 push {r4, lr}
+ 390 .LCFI6:
+ 391 .cfi_def_cfa_offset 8
+ 392 .cfi_offset 4, -8
+ 393 .cfi_offset 14, -4
+ 394 0002 0A00 movs r2, r1
+ 211:Src/usbd_desc.c **** return USBD_StrDesc;
+ 395 .loc 1 211 0
+ 396 0004 034C ldr r4, .L31
+ 397 0006 2100 movs r1, r4
+ 398 .LVL34:
+ 399 0008 0348 ldr r0, .L31+4
+ 400 .LVL35:
+ 401 000a FFF7FEFF bl USBD_GetString
+ 402 .LVL36:
+ 213:Src/usbd_desc.c ****
+ 403 .loc 1 213 0
+ 404 000e 2000 movs r0, r4
+ 405 @ sp needed
+ 406 0010 10BD pop {r4, pc}
+ 407 .L32:
+ 408 0012 C046 .align 2
+ ARM GAS /tmp/cck6myrA.s page 13
+
+
+ 409 .L31:
+ 410 0014 00000000 .word USBD_StrDesc
+ 411 0018 00000000 .word .LC16
+ 412 .cfi_endproc
+ 413 .LFE49:
+ 415 .comm USBD_StrDesc,256,4
+ 416 .global USBD_StringSerial
+ 417 .global USBD_LangIDDesc
+ 418 .global hUSBDDeviceDesc
+ 419 .global VCP_Desc
+ 420 .section .data.USBD_StringSerial,"aw",%progbits
+ 421 .align 2
+ 422 .set .LANCHOR2,. + 0
+ 425 USBD_StringSerial:
+ 426 0000 1A .byte 26
+ 427 0001 03 .byte 3
+ 428 0002 00000000 .space 24
+ 428 00000000
+ 428 00000000
+ 428 00000000
+ 428 00000000
+ 429 .section .data.VCP_Desc,"aw",%progbits
+ 430 .align 2
+ 433 VCP_Desc:
+ 434 0000 00000000 .word USBD_VCP_DeviceDescriptor
+ 435 0004 00000000 .word USBD_VCP_LangIDStrDescriptor
+ 436 0008 00000000 .word USBD_VCP_ManufacturerStrDescriptor
+ 437 000c 00000000 .word USBD_VCP_ProductStrDescriptor
+ 438 0010 00000000 .word USBD_VCP_SerialStrDescriptor
+ 439 0014 00000000 .word USBD_VCP_ConfigStrDescriptor
+ 440 0018 00000000 .word USBD_VCP_InterfaceStrDescriptor
+ 441 .section .rodata.USBD_LangIDDesc,"a",%progbits
+ 442 .align 2
+ 443 .set .LANCHOR1,. + 0
+ 446 USBD_LangIDDesc:
+ 447 0000 04 .byte 4
+ 448 0001 03 .byte 3
+ 449 0002 09 .byte 9
+ 450 0003 04 .byte 4
+ 451 .section .rodata.USBD_VCP_ConfigStrDescriptor.str1.4,"aMS",%progbits,1
+ 452 .align 2
+ 453 .LC13:
+ 454 0000 6D617500 .ascii "mau\000"
+ 455 .section .rodata.USBD_VCP_InterfaceStrDescriptor.str1.4,"aMS",%progbits,1
+ 456 .align 2
+ 457 .LC16:
+ 458 0000 3A6F00 .ascii ":o\000"
+ 459 .section .rodata.USBD_VCP_ManufacturerStrDescriptor.str1.4,"aMS",%progbits,1
+ 460 .align 2
+ 461 .LC10:
+ 462 0000 4F747465 .ascii "Otter-Iron\000"
+ 462 722D4972
+ 462 6F6E00
+ 463 .section .rodata.USBD_VCP_ProductStrDescriptor.str1.4,"aMS",%progbits,1
+ 464 .align 2
+ 465 .LC7:
+ 466 0000 63686972 .ascii "chirp :3\000"
+ ARM GAS /tmp/cck6myrA.s page 14
+
+
+ 466 70203A33
+ 466 00
+ 467 .section .rodata.hUSBDDeviceDesc,"a",%progbits
+ 468 .align 2
+ 469 .set .LANCHOR0,. + 0
+ 472 hUSBDDeviceDesc:
+ 473 0000 12 .byte 18
+ 474 0001 01 .byte 1
+ 475 0002 00 .byte 0
+ 476 0003 02 .byte 2
+ 477 0004 00 .byte 0
+ 478 0005 00 .byte 0
+ 479 0006 00 .byte 0
+ 480 0007 40 .byte 64
+ 481 0008 83 .byte -125
+ 482 0009 04 .byte 4
+ 483 000a 40 .byte 64
+ 484 000b 57 .byte 87
+ 485 000c 00 .byte 0
+ 486 000d 02 .byte 2
+ 487 000e 01 .byte 1
+ 488 000f 02 .byte 2
+ 489 0010 03 .byte 3
+ 490 0011 01 .byte 1
+ 491 .text
+ 492 .Letext0:
+ 493 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin
+ 494 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s
+ 495 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 496 .file 5 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 497 .file 6 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/lo
+ 498 .file 7 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_t
+ 499 .file 8 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/lib/gcc/arm-none-eabi/7.3.1/
+ 500 .file 9 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/re
+ 501 .file 10 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/stdli
+ 502 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
+ 503 .file 12 "Inc/usbd_desc.h"
+ 504 .file 13 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h"
+ ARM GAS /tmp/cck6myrA.s page 15
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 usbd_desc.c
+ /tmp/cck6myrA.s:16 .text.USBD_VCP_DeviceDescriptor:0000000000000000 $t
+ /tmp/cck6myrA.s:23 .text.USBD_VCP_DeviceDescriptor:0000000000000000 USBD_VCP_DeviceDescriptor
+ /tmp/cck6myrA.s:43 .text.USBD_VCP_DeviceDescriptor:0000000000000008 $d
+ /tmp/cck6myrA.s:48 .text.USBD_VCP_LangIDStrDescriptor:0000000000000000 $t
+ /tmp/cck6myrA.s:55 .text.USBD_VCP_LangIDStrDescriptor:0000000000000000 USBD_VCP_LangIDStrDescriptor
+ /tmp/cck6myrA.s:74 .text.USBD_VCP_LangIDStrDescriptor:0000000000000008 $d
+ /tmp/cck6myrA.s:79 .text.IntToUnicode:0000000000000000 $t
+ /tmp/cck6myrA.s:85 .text.IntToUnicode:0000000000000000 IntToUnicode
+ /tmp/cck6myrA.s:144 .text.Get_SerialNum:0000000000000000 $t
+ /tmp/cck6myrA.s:150 .text.Get_SerialNum:0000000000000000 Get_SerialNum
+ /tmp/cck6myrA.s:207 .text.Get_SerialNum:0000000000000030 $d
+ /tmp/cck6myrA.s:215 .text.USBD_VCP_SerialStrDescriptor:0000000000000000 $t
+ /tmp/cck6myrA.s:222 .text.USBD_VCP_SerialStrDescriptor:0000000000000000 USBD_VCP_SerialStrDescriptor
+ /tmp/cck6myrA.s:247 .text.USBD_VCP_SerialStrDescriptor:0000000000000010 $d
+ /tmp/cck6myrA.s:252 .text.USBD_VCP_ProductStrDescriptor:0000000000000000 $t
+ /tmp/cck6myrA.s:259 .text.USBD_VCP_ProductStrDescriptor:0000000000000000 USBD_VCP_ProductStrDescriptor
+ /tmp/cck6myrA.s:287 .text.USBD_VCP_ProductStrDescriptor:0000000000000014 $d
+ *COM*:0000000000000100 USBD_StrDesc
+ /tmp/cck6myrA.s:293 .text.USBD_VCP_ManufacturerStrDescriptor:0000000000000000 $t
+ /tmp/cck6myrA.s:300 .text.USBD_VCP_ManufacturerStrDescriptor:0000000000000000 USBD_VCP_ManufacturerStrDescriptor
+ /tmp/cck6myrA.s:328 .text.USBD_VCP_ManufacturerStrDescriptor:0000000000000014 $d
+ /tmp/cck6myrA.s:334 .text.USBD_VCP_ConfigStrDescriptor:0000000000000000 $t
+ /tmp/cck6myrA.s:341 .text.USBD_VCP_ConfigStrDescriptor:0000000000000000 USBD_VCP_ConfigStrDescriptor
+ /tmp/cck6myrA.s:369 .text.USBD_VCP_ConfigStrDescriptor:0000000000000014 $d
+ /tmp/cck6myrA.s:375 .text.USBD_VCP_InterfaceStrDescriptor:0000000000000000 $t
+ /tmp/cck6myrA.s:382 .text.USBD_VCP_InterfaceStrDescriptor:0000000000000000 USBD_VCP_InterfaceStrDescriptor
+ /tmp/cck6myrA.s:410 .text.USBD_VCP_InterfaceStrDescriptor:0000000000000014 $d
+ /tmp/cck6myrA.s:425 .data.USBD_StringSerial:0000000000000000 USBD_StringSerial
+ /tmp/cck6myrA.s:446 .rodata.USBD_LangIDDesc:0000000000000000 USBD_LangIDDesc
+ /tmp/cck6myrA.s:472 .rodata.hUSBDDeviceDesc:0000000000000000 hUSBDDeviceDesc
+ /tmp/cck6myrA.s:433 .data.VCP_Desc:0000000000000000 VCP_Desc
+ /tmp/cck6myrA.s:421 .data.USBD_StringSerial:0000000000000000 $d
+ /tmp/cck6myrA.s:430 .data.VCP_Desc:0000000000000000 $d
+ /tmp/cck6myrA.s:442 .rodata.USBD_LangIDDesc:0000000000000000 $d
+ /tmp/cck6myrA.s:452 .rodata.USBD_VCP_ConfigStrDescriptor.str1.4:0000000000000000 $d
+ /tmp/cck6myrA.s:456 .rodata.USBD_VCP_InterfaceStrDescriptor.str1.4:0000000000000000 $d
+ /tmp/cck6myrA.s:460 .rodata.USBD_VCP_ManufacturerStrDescriptor.str1.4:0000000000000000 $d
+ /tmp/cck6myrA.s:464 .rodata.USBD_VCP_ProductStrDescriptor.str1.4:0000000000000000 $d
+ /tmp/cck6myrA.s:468 .rodata.hUSBDDeviceDesc:0000000000000000 $d
+
+UNDEFINED SYMBOLS
+USBD_GetString