ARM GAS /tmp/cc5SjA9n.s page 1 1 .cpu cortex-m3 2 .arch armv7-m 3 .fpu softvfp 4 .eabi_attribute 20, 1 5 .eabi_attribute 21, 1 6 .eabi_attribute 23, 3 7 .eabi_attribute 24, 1 8 .eabi_attribute 25, 1 9 .eabi_attribute 26, 1 10 .eabi_attribute 30, 1 11 .eabi_attribute 34, 1 12 .eabi_attribute 18, 4 13 .file "usbd_cdc.c" 14 .text 15 .Ltext0: 16 .cfi_sections .debug_frame 17 .section .text.USBD_CDC_EP0_RxReady,"ax",%progbits 18 .align 1 19 .syntax unified 20 .thumb 21 .thumb_func 23 USBD_CDC_EP0_RxReady: 24 .LVL0: 25 .LFB660: 26 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c" 1:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 2:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ****************************************************************************** 3:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @file usbd_cdc.c 4:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @author MCD Application Team 5:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief This file provides the high layer firmware functions to manage the 6:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * following functionalities of the USB CDC Class: 7:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Initialization and Configuration of high and low layer 8:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Enumeration as CDC Device (and enumeration for each implemented memory interface) 9:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - OUT/IN data transfer 10:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Command IN transfer (class requests management) 11:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Error management 12:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 13:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @verbatim 14:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 15:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * =================================================================== 16:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * CDC Class Driver Description 17:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * =================================================================== 18:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * This driver manages the "Universal Serial Bus Class Definitions for Communications De 19:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Revision 1.2 November 16, 2007" and the sub-protocol specification of "Universal Seri 20:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Communications Class Subclass Specification for PSTN Devices Revision 1.2 February 9, 21:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * This driver implements the following aspects of the specification: 22:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Device descriptor management 23:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Configuration descriptor management 24:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Enumeration as CDC device with 2 data endpoints (IN and OUT) and 1 command endpoi 25:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Requests management (as described in section 6.2 in specification) 26:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Abstract Control Model compliant 27:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Union Functional collection (using 1 IN endpoint for control) 28:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Data interface class 29:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 30:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * These aspects may be enriched or modified for a specific user application. 31:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 32:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * This driver doesn't implement the following aspects of the specification ARM GAS /tmp/cc5SjA9n.s page 2 33:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * (but it is possible to manage these features with some modifications on this driver) 34:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Any class-specific aspect relative to communication classes should be managed by 35:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - All communication classes other than PSTN are not managed 36:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 37:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @endverbatim 38:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 39:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ****************************************************************************** 40:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @attention 41:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 42:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** *

© Copyright (c) 2015 STMicroelectronics. 43:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * All rights reserved.

44:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 45:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * This software component is licensed by ST under Ultimate Liberty license 46:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * SLA0044, the "License"; You may not use this file except in compliance with 47:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * the License. You may obtain a copy of the License at: 48:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * www.st.com/SLA0044 49:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 50:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ****************************************************************************** 51:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 52:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 53:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* BSPDependencies 54:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** - "stm32xxxxx_{eval}{discovery}{nucleo_144}.c" 55:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** - "stm32xxxxx_{eval}{discovery}_io.c" 56:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** EndBSPDependencies */ 57:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 58:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Includes ------------------------------------------------------------------*/ 59:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #include "usbd_cdc.h" 60:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #include "usbd_ctlreq.h" 61:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 62:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 63:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** @addtogroup STM32_USB_DEVICE_LIBRARY 64:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @{ 65:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 66:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 67:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 68:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** @defgroup USBD_CDC 69:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief usbd core module 70:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @{ 71:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 72:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 73:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** @defgroup USBD_CDC_Private_TypesDefinitions 74:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @{ 75:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 76:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 77:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @} 78:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 79:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 80:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 81:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** @defgroup USBD_CDC_Private_Defines 82:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @{ 83:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 84:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 85:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @} 86:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 87:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 88:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 89:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** @defgroup USBD_CDC_Private_Macros ARM GAS /tmp/cc5SjA9n.s page 3 90:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @{ 91:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 92:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 93:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 94:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @} 95:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 96:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 97:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 98:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** @defgroup USBD_CDC_Private_FunctionPrototypes 99:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @{ 100:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 101:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 102:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 103:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_Init(USBD_HandleTypeDef *pdev, 104:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t cfgidx); 105:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 106:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_DeInit(USBD_HandleTypeDef *pdev, 107:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t cfgidx); 108:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 109:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_Setup(USBD_HandleTypeDef *pdev, 110:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_SetupReqTypedef *req); 111:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 112:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_DataIn(USBD_HandleTypeDef *pdev, 113:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t epnum); 114:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 115:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_DataOut(USBD_HandleTypeDef *pdev, 116:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t epnum); 117:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 118:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_EP0_RxReady(USBD_HandleTypeDef *pdev); 119:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 120:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetFSCfgDesc(uint16_t *length); 121:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 122:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetHSCfgDesc(uint16_t *length); 123:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 124:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetOtherSpeedCfgDesc(uint16_t *length); 125:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 126:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetOtherSpeedCfgDesc(uint16_t *length); 127:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 128:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t *USBD_CDC_GetDeviceQualifierDescriptor(uint16_t *length); 129:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 130:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* USB Standard Device Descriptor */ 131:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** __ALIGN_BEGIN static uint8_t USBD_CDC_DeviceQualifierDesc[USB_LEN_DEV_QUALIFIER_DESC] __ALIGN_END = 132:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 133:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_LEN_DEV_QUALIFIER_DESC, 134:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_DEVICE_QUALIFIER, 135:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 136:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, 137:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 138:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 139:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 140:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x40, 141:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, 142:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 143:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** }; 144:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 145:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 146:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @} ARM GAS /tmp/cc5SjA9n.s page 4 147:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 148:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 149:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** @defgroup USBD_CDC_Private_Variables 150:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @{ 151:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 152:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 153:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 154:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* CDC interface class callbacks structure */ 155:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_ClassTypeDef USBD_CDC = 156:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 157:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_Init, 158:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_DeInit, 159:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_Setup, 160:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, /* EP0_TxSent, */ 161:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_EP0_RxReady, 162:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_DataIn, 163:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_DataOut, 164:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, 165:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, 166:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, 167:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_GetHSCfgDesc, 168:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_GetFSCfgDesc, 169:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_GetOtherSpeedCfgDesc, 170:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_GetDeviceQualifierDescriptor, 171:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** }; 172:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 173:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* USB CDC device Configuration Descriptor */ 174:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** __ALIGN_BEGIN uint8_t USBD_CDC_CfgHSDesc[USB_CDC_CONFIG_DESC_SIZ] __ALIGN_END = 175:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 176:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Configuration Descriptor*/ 177:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Configuration Descriptor size */ 178:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */ 179:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_CDC_CONFIG_DESC_SIZ, /* wTotalLength:no of returned bytes */ 180:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 181:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bNumInterfaces: 2 interface */ 182:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bConfigurationValue: Configuration value */ 183:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* iConfiguration: Index of string descriptor describing the configuration */ 184:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0xC0, /* bmAttributes: self powered */ 185:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x32, /* MaxPower 0 mA */ 186:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 187:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*---------------------------------------------------------------------------*/ 188:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 189:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Interface Descriptor */ 190:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Interface Descriptor size */ 191:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_INTERFACE, /* bDescriptorType: Interface */ 192:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Interface descriptor type */ 193:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceNumber: Number of Interface */ 194:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bAlternateSetting: Alternate setting */ 195:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bNumEndpoints: One endpoints used */ 196:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bInterfaceClass: Communication Interface Class */ 197:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bInterfaceSubClass: Abstract Control Model */ 198:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bInterfaceProtocol: Common AT commands */ 199:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* iInterface: */ 200:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 201:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Header Functional Descriptor*/ 202:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bLength: Endpoint Descriptor size */ 203:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ ARM GAS /tmp/cc5SjA9n.s page 5 204:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bDescriptorSubtype: Header Func Desc */ 205:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x10, /* bcdCDC: spec release number */ 206:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, 207:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 208:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Call Management Functional Descriptor*/ 209:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bFunctionLength */ 210:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 211:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bDescriptorSubtype: Call Management Func Desc */ 212:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bmCapabilities: D0+D1 */ 213:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bDataInterface: 1 */ 214:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 215:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*ACM Functional Descriptor*/ 216:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x04, /* bFunctionLength */ 217:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 218:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bDescriptorSubtype: Abstract Control Management desc */ 219:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmCapabilities */ 220:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 221:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Union Functional Descriptor*/ 222:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bFunctionLength */ 223:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 224:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x06, /* bDescriptorSubtype: Union func desc */ 225:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bMasterInterface: Communication class interface */ 226:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bSlaveInterface0: Data Class Interface */ 227:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 228:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Endpoint 2 Descriptor*/ 229:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ 230:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 231:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_CMD_EP, /* bEndpointAddress */ 232:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x03, /* bmAttributes: Interrupt */ 233:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** LOBYTE(CDC_CMD_PACKET_SIZE), /* wMaxPacketSize: */ 234:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** HIBYTE(CDC_CMD_PACKET_SIZE), 235:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_HS_BINTERVAL, /* bInterval: */ 236:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*---------------------------------------------------------------------------*/ 237:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 238:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Data class interface descriptor*/ 239:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Endpoint Descriptor size */ 240:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_INTERFACE, /* bDescriptorType: */ 241:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bInterfaceNumber: Number of Interface */ 242:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bAlternateSetting: Alternate setting */ 243:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bNumEndpoints: Two endpoints used */ 244:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x0A, /* bInterfaceClass: CDC */ 245:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceSubClass: */ 246:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceProtocol: */ 247:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* iInterface: */ 248:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 249:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Endpoint OUT Descriptor*/ 250:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ 251:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 252:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_OUT_EP, /* bEndpointAddress */ 253:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmAttributes: Bulk */ 254:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** LOBYTE(CDC_DATA_HS_MAX_PACKET_SIZE), /* wMaxPacketSize: */ 255:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** HIBYTE(CDC_DATA_HS_MAX_PACKET_SIZE), 256:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterval: ignore for Bulk transfer */ 257:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 258:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Endpoint IN Descriptor*/ 259:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ 260:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ ARM GAS /tmp/cc5SjA9n.s page 6 261:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_IN_EP, /* bEndpointAddress */ 262:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmAttributes: Bulk */ 263:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** LOBYTE(CDC_DATA_HS_MAX_PACKET_SIZE), /* wMaxPacketSize: */ 264:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** HIBYTE(CDC_DATA_HS_MAX_PACKET_SIZE), 265:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00 /* bInterval: ignore for Bulk transfer */ 266:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } ; 267:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 268:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 269:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* USB CDC device Configuration Descriptor */ 270:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** __ALIGN_BEGIN uint8_t USBD_CDC_CfgFSDesc[USB_CDC_CONFIG_DESC_SIZ] __ALIGN_END = 271:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 272:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Configuration Descriptor*/ 273:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Configuration Descriptor size */ 274:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */ 275:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_CDC_CONFIG_DESC_SIZ, /* wTotalLength:no of returned bytes */ 276:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 277:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bNumInterfaces: 2 interface */ 278:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bConfigurationValue: Configuration value */ 279:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* iConfiguration: Index of string descriptor describing the configuration */ 280:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0xC0, /* bmAttributes: self powered */ 281:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x32, /* MaxPower 0 mA */ 282:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 283:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*---------------------------------------------------------------------------*/ 284:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 285:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Interface Descriptor */ 286:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Interface Descriptor size */ 287:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_INTERFACE, /* bDescriptorType: Interface */ 288:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Interface descriptor type */ 289:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceNumber: Number of Interface */ 290:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bAlternateSetting: Alternate setting */ 291:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bNumEndpoints: One endpoints used */ 292:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bInterfaceClass: Communication Interface Class */ 293:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bInterfaceSubClass: Abstract Control Model */ 294:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bInterfaceProtocol: Common AT commands */ 295:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* iInterface: */ 296:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 297:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Header Functional Descriptor*/ 298:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bLength: Endpoint Descriptor size */ 299:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 300:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bDescriptorSubtype: Header Func Desc */ 301:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x10, /* bcdCDC: spec release number */ 302:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, 303:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 304:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Call Management Functional Descriptor*/ 305:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bFunctionLength */ 306:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 307:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bDescriptorSubtype: Call Management Func Desc */ 308:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bmCapabilities: D0+D1 */ 309:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bDataInterface: 1 */ 310:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 311:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*ACM Functional Descriptor*/ 312:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x04, /* bFunctionLength */ 313:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 314:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bDescriptorSubtype: Abstract Control Management desc */ 315:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmCapabilities */ 316:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 317:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Union Functional Descriptor*/ ARM GAS /tmp/cc5SjA9n.s page 7 318:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bFunctionLength */ 319:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 320:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x06, /* bDescriptorSubtype: Union func desc */ 321:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bMasterInterface: Communication class interface */ 322:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bSlaveInterface0: Data Class Interface */ 323:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 324:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Endpoint 2 Descriptor*/ 325:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ 326:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 327:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_CMD_EP, /* bEndpointAddress */ 328:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x03, /* bmAttributes: Interrupt */ 329:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** LOBYTE(CDC_CMD_PACKET_SIZE), /* wMaxPacketSize: */ 330:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** HIBYTE(CDC_CMD_PACKET_SIZE), 331:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_FS_BINTERVAL, /* bInterval: */ 332:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*---------------------------------------------------------------------------*/ 333:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 334:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Data class interface descriptor*/ 335:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Endpoint Descriptor size */ 336:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_INTERFACE, /* bDescriptorType: */ 337:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bInterfaceNumber: Number of Interface */ 338:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bAlternateSetting: Alternate setting */ 339:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bNumEndpoints: Two endpoints used */ 340:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x0A, /* bInterfaceClass: CDC */ 341:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceSubClass: */ 342:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceProtocol: */ 343:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* iInterface: */ 344:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 345:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Endpoint OUT Descriptor*/ 346:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ 347:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 348:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_OUT_EP, /* bEndpointAddress */ 349:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmAttributes: Bulk */ 350:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** LOBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), /* wMaxPacketSize: */ 351:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** HIBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), 352:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterval: ignore for Bulk transfer */ 353:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 354:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Endpoint IN Descriptor*/ 355:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ 356:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 357:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_IN_EP, /* bEndpointAddress */ 358:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmAttributes: Bulk */ 359:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** LOBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), /* wMaxPacketSize: */ 360:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** HIBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), 361:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00 /* bInterval: ignore for Bulk transfer */ 362:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } ; 363:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 364:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** __ALIGN_BEGIN uint8_t USBD_CDC_OtherSpeedCfgDesc[USB_CDC_CONFIG_DESC_SIZ] __ALIGN_END = 365:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 366:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Configuation Descriptor size */ 367:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION, 368:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_CDC_CONFIG_DESC_SIZ, 369:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 370:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bNumInterfaces: 2 interfaces */ 371:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bConfigurationValue: */ 372:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x04, /* iConfiguration: */ 373:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0xC0, /* bmAttributes: */ 374:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x32, /* MaxPower 100 mA */ ARM GAS /tmp/cc5SjA9n.s page 8 375:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 376:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Interface Descriptor */ 377:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Interface Descriptor size */ 378:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_INTERFACE, /* bDescriptorType: Interface */ 379:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Interface descriptor type */ 380:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceNumber: Number of Interface */ 381:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bAlternateSetting: Alternate setting */ 382:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bNumEndpoints: One endpoints used */ 383:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bInterfaceClass: Communication Interface Class */ 384:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bInterfaceSubClass: Abstract Control Model */ 385:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bInterfaceProtocol: Common AT commands */ 386:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* iInterface: */ 387:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 388:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Header Functional Descriptor*/ 389:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bLength: Endpoint Descriptor size */ 390:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 391:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bDescriptorSubtype: Header Func Desc */ 392:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x10, /* bcdCDC: spec release number */ 393:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, 394:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 395:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Call Management Functional Descriptor*/ 396:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bFunctionLength */ 397:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 398:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bDescriptorSubtype: Call Management Func Desc */ 399:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bmCapabilities: D0+D1 */ 400:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bDataInterface: 1 */ 401:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 402:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*ACM Functional Descriptor*/ 403:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x04, /* bFunctionLength */ 404:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 405:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bDescriptorSubtype: Abstract Control Management desc */ 406:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmCapabilities */ 407:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 408:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Union Functional Descriptor*/ 409:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bFunctionLength */ 410:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 411:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x06, /* bDescriptorSubtype: Union func desc */ 412:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bMasterInterface: Communication class interface */ 413:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bSlaveInterface0: Data Class Interface */ 414:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 415:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Endpoint 2 Descriptor*/ 416:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ 417:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 418:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_CMD_EP, /* bEndpointAddress */ 419:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x03, /* bmAttributes: Interrupt */ 420:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** LOBYTE(CDC_CMD_PACKET_SIZE), /* wMaxPacketSize: */ 421:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** HIBYTE(CDC_CMD_PACKET_SIZE), 422:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_FS_BINTERVAL, /* bInterval: */ 423:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 424:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*---------------------------------------------------------------------------*/ 425:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 426:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Data class interface descriptor*/ 427:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Endpoint Descriptor size */ 428:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_INTERFACE, /* bDescriptorType: */ 429:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bInterfaceNumber: Number of Interface */ 430:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bAlternateSetting: Alternate setting */ 431:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bNumEndpoints: Two endpoints used */ ARM GAS /tmp/cc5SjA9n.s page 9 432:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x0A, /* bInterfaceClass: CDC */ 433:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceSubClass: */ 434:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceProtocol: */ 435:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* iInterface: */ 436:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 437:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Endpoint OUT Descriptor*/ 438:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ 439:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 440:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_OUT_EP, /* bEndpointAddress */ 441:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmAttributes: Bulk */ 442:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x40, /* wMaxPacketSize: */ 443:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 444:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterval: ignore for Bulk transfer */ 445:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 446:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*Endpoint IN Descriptor*/ 447:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ 448:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 449:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_IN_EP, /* bEndpointAddress */ 450:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmAttributes: Bulk */ 451:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x40, /* wMaxPacketSize: */ 452:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 453:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00 /* bInterval */ 454:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** }; 455:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 456:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 457:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @} 458:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 459:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 460:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** @defgroup USBD_CDC_Private_Functions 461:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @{ 462:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 463:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 464:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 465:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_Init 466:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Initialize the CDC interface 467:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 468:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param cfgidx: Configuration index 469:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 470:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 471:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx) 472:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 473:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ret = 0U; 474:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc; 475:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 476:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_speed == USBD_SPEED_HIGH) 477:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 478:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Open EP IN */ 479:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_OpenEP(pdev, CDC_IN_EP, USBD_EP_TYPE_BULK, 480:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_IN_PACKET_SIZE); 481:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 482:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDC_IN_EP & 0xFU].is_used = 1U; 483:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 484:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Open EP OUT */ 485:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_OpenEP(pdev, CDC_OUT_EP, USBD_EP_TYPE_BULK, 486:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 487:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 488:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_out[CDC_OUT_EP & 0xFU].is_used = 1U; ARM GAS /tmp/cc5SjA9n.s page 10 489:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 490:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 491:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 492:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 493:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Open EP IN */ 494:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_OpenEP(pdev, CDC_IN_EP, USBD_EP_TYPE_BULK, 495:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_IN_PACKET_SIZE); 496:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 497:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDC_IN_EP & 0xFU].is_used = 1U; 498:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 499:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Open EP OUT */ 500:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_OpenEP(pdev, CDC_OUT_EP, USBD_EP_TYPE_BULK, 501:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 502:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 503:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_out[CDC_OUT_EP & 0xFU].is_used = 1U; 504:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 505:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Open Command IN EP */ 506:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_OpenEP(pdev, CDC_CMD_EP, USBD_EP_TYPE_INTR, CDC_CMD_PACKET_SIZE); 507:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDC_CMD_EP & 0xFU].is_used = 1U; 508:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 509:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassData = USBD_malloc(sizeof(USBD_CDC_HandleTypeDef)); 510:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 511:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->pClassData == NULL) 512:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 513:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = 1U; 514:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 515:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 516:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 517:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 518:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 519:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Init physical Interface components */ 520:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData)->Init(); 521:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 522:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Init Xfer states */ 523:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->TxState = 0U; 524:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxState = 0U; 525:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 526:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_speed == USBD_SPEED_HIGH) 527:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 528:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Prepare Out endpoint to receive next packet */ 529:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_PrepareReceive(pdev, CDC_OUT_EP, hcdc->RxBuffer, 530:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 531:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 532:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 533:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 534:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Prepare Out endpoint to receive next packet */ 535:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_PrepareReceive(pdev, CDC_OUT_EP, hcdc->RxBuffer, 536:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 537:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 538:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 539:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return ret; 540:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 541:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 542:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 543:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_Init 544:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * DeInitialize the CDC layer 545:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance ARM GAS /tmp/cc5SjA9n.s page 11 546:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param cfgidx: Configuration index 547:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 548:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 549:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_DeInit(USBD_HandleTypeDef *pdev, uint8_t cfgidx) 550:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 551:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ret = 0U; 552:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 553:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Close EP IN */ 554:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_CloseEP(pdev, CDC_IN_EP); 555:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDC_IN_EP & 0xFU].is_used = 0U; 556:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 557:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Close EP OUT */ 558:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_CloseEP(pdev, CDC_OUT_EP); 559:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_out[CDC_OUT_EP & 0xFU].is_used = 0U; 560:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 561:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Close Command IN EP */ 562:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_CloseEP(pdev, CDC_CMD_EP); 563:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDC_CMD_EP & 0xFU].is_used = 0U; 564:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 565:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* DeInit physical Interface components */ 566:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->pClassData != NULL) 567:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 568:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData)->DeInit(); 569:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_free(pdev->pClassData); 570:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassData = NULL; 571:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 572:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 573:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return ret; 574:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 575:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 576:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 577:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_Setup 578:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Handle the CDC specific requests 579:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: instance 580:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param req: usb requests 581:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 582:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 583:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_Setup(USBD_HandleTypeDef *pdev, 584:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_SetupReqTypedef *req) 585:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 586:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 587:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ifalt = 0U; 588:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint16_t status_info = 0U; 589:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ret = USBD_OK; 590:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 591:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** switch (req->bmRequest & USB_REQ_TYPE_MASK) 592:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 593:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** case USB_REQ_TYPE_CLASS : 594:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (req->wLength) 595:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 596:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (req->bmRequest & 0x80U) 597:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 598:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData)->Control(req->bRequest, 599:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)hcdc->data, 600:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** req->wLength); 601:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 602:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlSendData(pdev, (uint8_t *)(void *)hcdc->data, req->wLength); ARM GAS /tmp/cc5SjA9n.s page 12 603:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 604:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 605:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 606:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->CmdOpCode = req->bRequest; 607:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->CmdLength = (uint8_t)req->wLength; 608:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 609:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlPrepareRx(pdev, (uint8_t *)(void *)hcdc->data, req->wLength); 610:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 611:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 612:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 613:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 614:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData)->Control(req->bRequest, 615:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)req, 0U); 616:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 617:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 618:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 619:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** case USB_REQ_TYPE_STANDARD: 620:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** switch (req->bRequest) 621:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 622:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** case USB_REQ_GET_STATUS: 623:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 624:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 625:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlSendData(pdev, (uint8_t *)(void *)&status_info, 2U); 626:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 627:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 628:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 629:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlError(pdev, req); 630:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 631:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 632:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 633:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 634:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** case USB_REQ_GET_INTERFACE: 635:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 636:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 637:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlSendData(pdev, &ifalt, 1U); 638:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 639:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 640:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 641:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlError(pdev, req); 642:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 643:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 644:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 645:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 646:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** case USB_REQ_SET_INTERFACE: 647:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_state != USBD_STATE_CONFIGURED) 648:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 649:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlError(pdev, req); 650:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 651:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 652:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 653:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 654:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** default: 655:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlError(pdev, req); 656:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 657:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 658:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 659:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; ARM GAS /tmp/cc5SjA9n.s page 13 660:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 661:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** default: 662:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlError(pdev, req); 663:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 664:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 665:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 666:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 667:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return ret; 668:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 669:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 670:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 671:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_DataIn 672:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Data sent on non-control IN endpoint 673:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 674:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param epnum: endpoint number 675:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 676:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 677:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum) 678:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 679:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassData; 680:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** PCD_HandleTypeDef *hpcd = pdev->pData; 681:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 682:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->pClassData != NULL) 683:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 684:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if ((pdev->ep_in[epnum].total_length > 0U) && ((pdev->ep_in[epnum].total_length % hpcd->IN_ep[e 685:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 686:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Update the packet total length */ 687:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[epnum].total_length = 0U; 688:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 689:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Send ZLP */ 690:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_Transmit(pdev, epnum, NULL, 0U); 691:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 692:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 693:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 694:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->TxState = 0U; 695:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 696:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_OK; 697:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 698:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 699:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 700:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_FAIL; 701:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 702:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 703:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 704:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 705:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_DataOut 706:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Data received on non-control Out endpoint 707:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 708:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param epnum: endpoint number 709:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 710:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 711:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum) 712:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 713:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 714:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 715:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Get the received data length */ 716:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxLength = USBD_LL_GetRxDataSize(pdev, epnum); ARM GAS /tmp/cc5SjA9n.s page 14 717:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 718:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* USB data will be immediately processed, this allow next USB traffic being 719:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NAKed till the end of the application Xfer */ 720:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->pClassData != NULL) 721:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 722:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData)->Receive(hcdc->RxBuffer, &hcdc->RxLength); 723:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 724:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_OK; 725:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 726:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 727:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 728:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_FAIL; 729:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 730:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 731:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 732:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 733:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_EP0_RxReady 734:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Handle EP0 Rx Ready event 735:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 736:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 737:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 738:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_EP0_RxReady(USBD_HandleTypeDef *pdev) 739:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 27 .loc 1 739 1 view -0 28 .cfi_startproc 29 @ args = 0, pretend = 0, frame = 0 30 @ frame_needed = 0, uses_anonymous_args = 0 31 .loc 1 739 1 is_stmt 0 view .LVU1 32 0000 10B5 push {r4, lr} 33 .LCFI0: 34 .cfi_def_cfa_offset 8 35 .cfi_offset 4, -8 36 .cfi_offset 14, -4 740:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 37 .loc 1 740 3 is_stmt 1 view .LVU2 38 .loc 1 740 29 is_stmt 0 view .LVU3 39 0002 D0F8B842 ldr r4, [r0, #696] 40 .LVL1: 741:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 742:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if ((pdev->pUserData != NULL) && (hcdc->CmdOpCode != 0xFFU)) 41 .loc 1 742 3 is_stmt 1 view .LVU4 42 .loc 1 742 12 is_stmt 0 view .LVU5 43 0006 D0F8BC32 ldr r3, [r0, #700] 44 .loc 1 742 6 view .LVU6 45 000a 5BB1 cbz r3, .L2 46 .loc 1 742 41 discriminator 1 view .LVU7 47 000c 94F80002 ldrb r0, [r4, #512] @ zero_extendqisi2 48 .LVL2: 49 .loc 1 742 33 discriminator 1 view .LVU8 50 0010 FF28 cmp r0, #255 51 0012 07D0 beq .L2 743:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 744:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData)->Control(hcdc->CmdOpCode, 52 .loc 1 744 5 is_stmt 1 view .LVU9 53 .loc 1 744 45 is_stmt 0 view .LVU10 54 0014 9B68 ldr r3, [r3, #8] 55 .loc 1 744 6 view .LVU11 ARM GAS /tmp/cc5SjA9n.s page 15 56 0016 94F80122 ldrb r2, [r4, #513] @ zero_extendqisi2 57 001a 2146 mov r1, r4 58 001c 9847 blx r3 59 .LVL3: 745:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)hcdc->data, 746:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint16_t)hcdc->CmdLength); 747:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->CmdOpCode = 0xFFU; 60 .loc 1 747 5 is_stmt 1 view .LVU12 61 .loc 1 747 21 is_stmt 0 view .LVU13 62 001e FF23 movs r3, #255 63 0020 84F80032 strb r3, [r4, #512] 64 .L2: 748:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 749:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 750:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_OK; 65 .loc 1 750 3 is_stmt 1 view .LVU14 751:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 66 .loc 1 751 1 is_stmt 0 view .LVU15 67 0024 0020 movs r0, #0 68 0026 10BD pop {r4, pc} 69 .loc 1 751 1 view .LVU16 70 .cfi_endproc 71 .LFE660: 73 .section .text.USBD_CDC_GetFSCfgDesc,"ax",%progbits 74 .align 1 75 .syntax unified 76 .thumb 77 .thumb_func 79 USBD_CDC_GetFSCfgDesc: 80 .LVL4: 81 .LFB661: 752:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 753:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 754:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_GetFSCfgDesc 755:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Return configuration descriptor 756:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param speed : current device speed 757:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param length : pointer data length 758:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval pointer to descriptor buffer 759:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 760:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetFSCfgDesc(uint16_t *length) 761:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 82 .loc 1 761 1 is_stmt 1 view -0 83 .cfi_startproc 84 @ args = 0, pretend = 0, frame = 0 85 @ frame_needed = 0, uses_anonymous_args = 0 86 @ link register save eliminated. 762:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** *length = sizeof(USBD_CDC_CfgFSDesc); 87 .loc 1 762 3 view .LVU18 88 .loc 1 762 11 is_stmt 0 view .LVU19 89 0000 4323 movs r3, #67 90 0002 0380 strh r3, [r0] @ movhi 763:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_CfgFSDesc; 91 .loc 1 763 3 is_stmt 1 view .LVU20 764:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 92 .loc 1 764 1 is_stmt 0 view .LVU21 93 0004 0048 ldr r0, .L5 94 .LVL5: ARM GAS /tmp/cc5SjA9n.s page 16 95 .loc 1 764 1 view .LVU22 96 0006 7047 bx lr 97 .L6: 98 .align 2 99 .L5: 100 0008 00000000 .word .LANCHOR0 101 .cfi_endproc 102 .LFE661: 104 .section .text.USBD_CDC_GetHSCfgDesc,"ax",%progbits 105 .align 1 106 .syntax unified 107 .thumb 108 .thumb_func 110 USBD_CDC_GetHSCfgDesc: 111 .LVL6: 112 .LFB662: 765:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 766:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 767:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_GetHSCfgDesc 768:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Return configuration descriptor 769:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param speed : current device speed 770:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param length : pointer data length 771:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval pointer to descriptor buffer 772:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 773:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetHSCfgDesc(uint16_t *length) 774:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 113 .loc 1 774 1 is_stmt 1 view -0 114 .cfi_startproc 115 @ args = 0, pretend = 0, frame = 0 116 @ frame_needed = 0, uses_anonymous_args = 0 117 @ link register save eliminated. 775:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** *length = sizeof(USBD_CDC_CfgHSDesc); 118 .loc 1 775 3 view .LVU24 119 .loc 1 775 11 is_stmt 0 view .LVU25 120 0000 4323 movs r3, #67 121 0002 0380 strh r3, [r0] @ movhi 776:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_CfgHSDesc; 122 .loc 1 776 3 is_stmt 1 view .LVU26 777:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 123 .loc 1 777 1 is_stmt 0 view .LVU27 124 0004 0048 ldr r0, .L8 125 .LVL7: 126 .loc 1 777 1 view .LVU28 127 0006 7047 bx lr 128 .L9: 129 .align 2 130 .L8: 131 0008 00000000 .word .LANCHOR1 132 .cfi_endproc 133 .LFE662: 135 .section .text.USBD_CDC_GetOtherSpeedCfgDesc,"ax",%progbits 136 .align 1 137 .syntax unified 138 .thumb 139 .thumb_func 141 USBD_CDC_GetOtherSpeedCfgDesc: 142 .LVL8: ARM GAS /tmp/cc5SjA9n.s page 17 143 .LFB663: 778:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 779:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 780:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_GetCfgDesc 781:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Return configuration descriptor 782:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param speed : current device speed 783:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param length : pointer data length 784:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval pointer to descriptor buffer 785:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 786:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetOtherSpeedCfgDesc(uint16_t *length) 787:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 144 .loc 1 787 1 is_stmt 1 view -0 145 .cfi_startproc 146 @ args = 0, pretend = 0, frame = 0 147 @ frame_needed = 0, uses_anonymous_args = 0 148 @ link register save eliminated. 788:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** *length = sizeof(USBD_CDC_OtherSpeedCfgDesc); 149 .loc 1 788 3 view .LVU30 150 .loc 1 788 11 is_stmt 0 view .LVU31 151 0000 4323 movs r3, #67 152 0002 0380 strh r3, [r0] @ movhi 789:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_OtherSpeedCfgDesc; 153 .loc 1 789 3 is_stmt 1 view .LVU32 790:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 154 .loc 1 790 1 is_stmt 0 view .LVU33 155 0004 0048 ldr r0, .L11 156 .LVL9: 157 .loc 1 790 1 view .LVU34 158 0006 7047 bx lr 159 .L12: 160 .align 2 161 .L11: 162 0008 00000000 .word .LANCHOR2 163 .cfi_endproc 164 .LFE663: 166 .section .text.USBD_CDC_GetDeviceQualifierDescriptor,"ax",%progbits 167 .align 1 168 .global USBD_CDC_GetDeviceQualifierDescriptor 169 .syntax unified 170 .thumb 171 .thumb_func 173 USBD_CDC_GetDeviceQualifierDescriptor: 174 .LVL10: 175 .LFB664: 791:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 792:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 793:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief DeviceQualifierDescriptor 794:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * return Device Qualifier descriptor 795:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param length : pointer data length 796:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval pointer to descriptor buffer 797:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 798:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t *USBD_CDC_GetDeviceQualifierDescriptor(uint16_t *length) 799:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 176 .loc 1 799 1 is_stmt 1 view -0 177 .cfi_startproc 178 @ args = 0, pretend = 0, frame = 0 179 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/cc5SjA9n.s page 18 180 @ link register save eliminated. 800:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** *length = sizeof(USBD_CDC_DeviceQualifierDesc); 181 .loc 1 800 3 view .LVU36 182 .loc 1 800 11 is_stmt 0 view .LVU37 183 0000 0A23 movs r3, #10 184 0002 0380 strh r3, [r0] @ movhi 801:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_DeviceQualifierDesc; 185 .loc 1 801 3 is_stmt 1 view .LVU38 802:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 186 .loc 1 802 1 is_stmt 0 view .LVU39 187 0004 0048 ldr r0, .L14 188 .LVL11: 189 .loc 1 802 1 view .LVU40 190 0006 7047 bx lr 191 .L15: 192 .align 2 193 .L14: 194 0008 00000000 .word .LANCHOR3 195 .cfi_endproc 196 .LFE664: 198 .section .text.USBD_CDC_DataOut,"ax",%progbits 199 .align 1 200 .syntax unified 201 .thumb 202 .thumb_func 204 USBD_CDC_DataOut: 205 .LVL12: 206 .LFB659: 712:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 207 .loc 1 712 1 is_stmt 1 view -0 208 .cfi_startproc 209 @ args = 0, pretend = 0, frame = 0 210 @ frame_needed = 0, uses_anonymous_args = 0 712:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 211 .loc 1 712 1 is_stmt 0 view .LVU42 212 0000 38B5 push {r3, r4, r5, lr} 213 .LCFI1: 214 .cfi_def_cfa_offset 16 215 .cfi_offset 3, -16 216 .cfi_offset 4, -12 217 .cfi_offset 5, -8 218 .cfi_offset 14, -4 219 0002 0446 mov r4, r0 713:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 220 .loc 1 713 3 is_stmt 1 view .LVU43 713:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 221 .loc 1 713 29 is_stmt 0 view .LVU44 222 0004 D0F8B852 ldr r5, [r0, #696] 223 .LVL13: 716:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 224 .loc 1 716 3 is_stmt 1 view .LVU45 716:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 225 .loc 1 716 20 is_stmt 0 view .LVU46 226 0008 FFF7FEFF bl USBD_LL_GetRxDataSize 227 .LVL14: 716:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 228 .loc 1 716 18 view .LVU47 ARM GAS /tmp/cc5SjA9n.s page 19 229 000c C5F80C02 str r0, [r5, #524] 720:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 230 .loc 1 720 3 is_stmt 1 view .LVU48 720:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 231 .loc 1 720 11 is_stmt 0 view .LVU49 232 0010 D4F8B832 ldr r3, [r4, #696] 720:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 233 .loc 1 720 6 view .LVU50 234 0014 4BB1 cbz r3, .L18 722:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 235 .loc 1 722 5 is_stmt 1 view .LVU51 722:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 236 .loc 1 722 33 is_stmt 0 view .LVU52 237 0016 D4F8BC32 ldr r3, [r4, #700] 722:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 238 .loc 1 722 45 view .LVU53 239 001a DB68 ldr r3, [r3, #12] 722:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 240 .loc 1 722 6 view .LVU54 241 001c 05F50371 add r1, r5, #524 242 0020 D5F80402 ldr r0, [r5, #516] 243 0024 9847 blx r3 244 .LVL15: 724:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 245 .loc 1 724 5 is_stmt 1 view .LVU55 724:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 246 .loc 1 724 12 is_stmt 0 view .LVU56 247 0026 0020 movs r0, #0 248 .L17: 730:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 249 .loc 1 730 1 view .LVU57 250 0028 38BD pop {r3, r4, r5, pc} 251 .LVL16: 252 .L18: 728:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 253 .loc 1 728 12 view .LVU58 254 002a 0220 movs r0, #2 255 002c FCE7 b .L17 256 .cfi_endproc 257 .LFE659: 259 .section .text.USBD_CDC_DataIn,"ax",%progbits 260 .align 1 261 .syntax unified 262 .thumb 263 .thumb_func 265 USBD_CDC_DataIn: 266 .LVL17: 267 .LFB658: 678:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassData; 268 .loc 1 678 1 is_stmt 1 view -0 269 .cfi_startproc 270 @ args = 0, pretend = 0, frame = 0 271 @ frame_needed = 0, uses_anonymous_args = 0 678:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassData; 272 .loc 1 678 1 is_stmt 0 view .LVU60 273 0000 10B5 push {r4, lr} 274 .LCFI2: ARM GAS /tmp/cc5SjA9n.s page 20 275 .cfi_def_cfa_offset 8 276 .cfi_offset 4, -8 277 .cfi_offset 14, -4 679:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** PCD_HandleTypeDef *hpcd = pdev->pData; 278 .loc 1 679 3 is_stmt 1 view .LVU61 679:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** PCD_HandleTypeDef *hpcd = pdev->pData; 279 .loc 1 679 27 is_stmt 0 view .LVU62 280 0002 D0F8B822 ldr r2, [r0, #696] 281 .LVL18: 680:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 282 .loc 1 680 3 is_stmt 1 view .LVU63 680:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 283 .loc 1 680 22 is_stmt 0 view .LVU64 284 0006 D0F8C042 ldr r4, [r0, #704] 285 .LVL19: 682:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 286 .loc 1 682 3 is_stmt 1 view .LVU65 682:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 287 .loc 1 682 6 is_stmt 0 view .LVU66 288 000a F2B1 cbz r2, .L24 684:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 289 .loc 1 684 5 is_stmt 1 view .LVU67 684:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 290 .loc 1 684 28 is_stmt 0 view .LVU68 291 000c 01EB8103 add r3, r1, r1, lsl #2 292 0010 00EB8303 add r3, r0, r3, lsl #2 293 0014 DB69 ldr r3, [r3, #28] 684:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 294 .loc 1 684 8 view .LVU69 295 0016 4BB1 cbz r3, .L22 684:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 296 .loc 1 684 105 discriminator 1 view .LVU70 297 0018 01EB810C add ip, r1, r1, lsl #2 298 001c 04EBCC04 add r4, r4, ip, lsl #3 299 .LVL20: 684:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 300 .loc 1 684 105 discriminator 1 view .LVU71 301 0020 A46B ldr r4, [r4, #56] 684:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 302 .loc 1 684 85 discriminator 1 view .LVU72 303 0022 B3FBF4FC udiv ip, r3, r4 304 0026 04FB1C33 mls r3, r4, ip, r3 684:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 305 .loc 1 684 48 discriminator 1 view .LVU73 306 002a 23B1 cbz r3, .L26 307 .L22: 694:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 308 .loc 1 694 7 is_stmt 1 view .LVU74 694:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 309 .loc 1 694 21 is_stmt 0 view .LVU75 310 002c 0023 movs r3, #0 311 002e C2F81432 str r3, [r2, #532] 312 .LVL21: 313 .L23: 696:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 314 .loc 1 696 5 is_stmt 1 view .LVU76 696:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } ARM GAS /tmp/cc5SjA9n.s page 21 315 .loc 1 696 12 is_stmt 0 view .LVU77 316 0032 0020 movs r0, #0 317 .L21: 702:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 318 .loc 1 702 1 view .LVU78 319 0034 10BD pop {r4, pc} 320 .LVL22: 321 .L26: 687:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 322 .loc 1 687 7 is_stmt 1 view .LVU79 687:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 323 .loc 1 687 39 is_stmt 0 view .LVU80 324 0036 01EB8103 add r3, r1, r1, lsl #2 325 003a 00EB8303 add r3, r0, r3, lsl #2 326 003e 0022 movs r2, #0 327 .LVL23: 687:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 328 .loc 1 687 39 view .LVU81 329 0040 DA61 str r2, [r3, #28] 330 .LVL24: 690:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 331 .loc 1 690 7 is_stmt 1 view .LVU82 332 0042 1346 mov r3, r2 333 0044 FFF7FEFF bl USBD_LL_Transmit 334 .LVL25: 690:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 335 .loc 1 690 7 is_stmt 0 view .LVU83 336 0048 F3E7 b .L23 337 .LVL26: 338 .L24: 700:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 339 .loc 1 700 12 view .LVU84 340 004a 0220 movs r0, #2 341 .LVL27: 700:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 342 .loc 1 700 12 view .LVU85 343 004c F2E7 b .L21 344 .cfi_endproc 345 .LFE658: 347 .section .text.USBD_CDC_Setup,"ax",%progbits 348 .align 1 349 .syntax unified 350 .thumb 351 .thumb_func 353 USBD_CDC_Setup: 354 .LVL28: 355 .LFB657: 585:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 356 .loc 1 585 1 is_stmt 1 view -0 357 .cfi_startproc 358 @ args = 0, pretend = 0, frame = 8 359 @ frame_needed = 0, uses_anonymous_args = 0 585:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 360 .loc 1 585 1 is_stmt 0 view .LVU87 361 0000 F0B5 push {r4, r5, r6, r7, lr} 362 .LCFI3: 363 .cfi_def_cfa_offset 20 ARM GAS /tmp/cc5SjA9n.s page 22 364 .cfi_offset 4, -20 365 .cfi_offset 5, -16 366 .cfi_offset 6, -12 367 .cfi_offset 7, -8 368 .cfi_offset 14, -4 369 0002 83B0 sub sp, sp, #12 370 .LCFI4: 371 .cfi_def_cfa_offset 32 372 0004 0646 mov r6, r0 373 0006 0C46 mov r4, r1 586:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ifalt = 0U; 374 .loc 1 586 3 is_stmt 1 view .LVU88 586:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ifalt = 0U; 375 .loc 1 586 29 is_stmt 0 view .LVU89 376 0008 D0F8B872 ldr r7, [r0, #696] 377 .LVL29: 587:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint16_t status_info = 0U; 378 .loc 1 587 3 is_stmt 1 view .LVU90 587:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint16_t status_info = 0U; 379 .loc 1 587 11 is_stmt 0 view .LVU91 380 000c 0023 movs r3, #0 381 000e 8DF80730 strb r3, [sp, #7] 588:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ret = USBD_OK; 382 .loc 1 588 3 is_stmt 1 view .LVU92 588:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ret = USBD_OK; 383 .loc 1 588 12 is_stmt 0 view .LVU93 384 0012 ADF80430 strh r3, [sp, #4] @ movhi 589:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 385 .loc 1 589 3 is_stmt 1 view .LVU94 386 .LVL30: 591:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 387 .loc 1 591 3 view .LVU95 591:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 388 .loc 1 591 14 is_stmt 0 view .LVU96 389 0016 0B78 ldrb r3, [r1] @ zero_extendqisi2 591:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 390 .loc 1 591 3 view .LVU97 391 0018 13F06005 ands r5, r3, #96 392 001c 27D0 beq .L28 393 001e 202D cmp r5, #32 394 0020 53D1 bne .L29 594:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 395 .loc 1 594 7 is_stmt 1 view .LVU98 594:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 396 .loc 1 594 14 is_stmt 0 view .LVU99 397 0022 CA88 ldrh r2, [r1, #6] 594:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 398 .loc 1 594 10 view .LVU100 399 0024 DAB1 cbz r2, .L30 596:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 400 .loc 1 596 9 is_stmt 1 view .LVU101 596:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 401 .loc 1 596 12 is_stmt 0 view .LVU102 402 0026 13F0800F tst r3, #128 403 002a 0CD0 beq .L31 598:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)hcdc->data, 404 .loc 1 598 11 is_stmt 1 view .LVU103 ARM GAS /tmp/cc5SjA9n.s page 23 598:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)hcdc->data, 405 .loc 1 598 39 is_stmt 0 view .LVU104 406 002c D0F8BC32 ldr r3, [r0, #700] 598:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)hcdc->data, 407 .loc 1 598 51 view .LVU105 408 0030 9B68 ldr r3, [r3, #8] 598:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)hcdc->data, 409 .loc 1 598 12 view .LVU106 410 0032 3946 mov r1, r7 411 .LVL31: 598:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)hcdc->data, 412 .loc 1 598 12 view .LVU107 413 0034 6078 ldrb r0, [r4, #1] @ zero_extendqisi2 414 .LVL32: 598:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)hcdc->data, 415 .loc 1 598 12 view .LVU108 416 0036 9847 blx r3 417 .LVL33: 602:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 418 .loc 1 602 11 is_stmt 1 view .LVU109 419 0038 E288 ldrh r2, [r4, #6] 420 003a 3946 mov r1, r7 421 003c 3046 mov r0, r6 422 003e FFF7FEFF bl USBD_CtlSendData 423 .LVL34: 589:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 424 .loc 1 589 11 is_stmt 0 view .LVU110 425 0042 0025 movs r5, #0 426 0044 44E0 b .L32 427 .LVL35: 428 .L31: 606:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->CmdLength = (uint8_t)req->wLength; 429 .loc 1 606 11 is_stmt 1 view .LVU111 606:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->CmdLength = (uint8_t)req->wLength; 430 .loc 1 606 32 is_stmt 0 view .LVU112 431 0046 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2 606:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->CmdLength = (uint8_t)req->wLength; 432 .loc 1 606 27 view .LVU113 433 0048 87F80032 strb r3, [r7, #512] 607:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 434 .loc 1 607 11 is_stmt 1 view .LVU114 607:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 435 .loc 1 607 29 is_stmt 0 view .LVU115 436 004c 8B79 ldrb r3, [r1, #6] @ zero_extendqisi2 607:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 437 .loc 1 607 27 view .LVU116 438 004e 87F80132 strb r3, [r7, #513] 609:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 439 .loc 1 609 11 is_stmt 1 view .LVU117 440 0052 CA88 ldrh r2, [r1, #6] 441 0054 3946 mov r1, r7 442 .LVL36: 609:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 443 .loc 1 609 11 is_stmt 0 view .LVU118 444 0056 FFF7FEFF bl USBD_CtlPrepareRx 445 .LVL37: 589:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ARM GAS /tmp/cc5SjA9n.s page 24 446 .loc 1 589 11 view .LVU119 447 005a 0025 movs r5, #0 448 005c 38E0 b .L32 449 .LVL38: 450 .L30: 614:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)req, 0U); 451 .loc 1 614 9 is_stmt 1 view .LVU120 614:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)req, 0U); 452 .loc 1 614 37 is_stmt 0 view .LVU121 453 005e D0F8BC32 ldr r3, [r0, #700] 614:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)req, 0U); 454 .loc 1 614 49 view .LVU122 455 0062 9B68 ldr r3, [r3, #8] 614:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)req, 0U); 456 .loc 1 614 10 view .LVU123 457 0064 0022 movs r2, #0 458 0066 4878 ldrb r0, [r1, #1] @ zero_extendqisi2 459 .LVL39: 614:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)(void *)req, 0U); 460 .loc 1 614 10 view .LVU124 461 0068 9847 blx r3 462 .LVL40: 589:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 463 .loc 1 589 11 view .LVU125 464 006a 0025 movs r5, #0 465 006c 30E0 b .L32 466 .LVL41: 467 .L28: 620:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 468 .loc 1 620 7 is_stmt 1 view .LVU126 620:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 469 .loc 1 620 18 is_stmt 0 view .LVU127 470 006e 4F78 ldrb r7, [r1, #1] @ zero_extendqisi2 471 .LVL42: 620:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 472 .loc 1 620 18 view .LVU128 473 0070 0A2F cmp r7, #10 474 0072 14D0 beq .L33 475 0074 0B2F cmp r7, #11 476 0076 20D0 beq .L34 477 0078 1FB1 cbz r7, .L39 655:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 478 .loc 1 655 11 is_stmt 1 view .LVU129 479 007a FFF7FEFF bl USBD_CtlError 480 .LVL43: 656:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 481 .loc 1 656 11 view .LVU130 657:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 482 .loc 1 657 11 view .LVU131 656:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 483 .loc 1 656 15 is_stmt 0 view .LVU132 484 007e 0225 movs r5, #2 657:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 485 .loc 1 657 11 view .LVU133 486 0080 26E0 b .L32 487 .LVL44: 488 .L39: ARM GAS /tmp/cc5SjA9n.s page 25 623:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 489 .loc 1 623 11 is_stmt 1 view .LVU134 623:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 490 .loc 1 623 19 is_stmt 0 view .LVU135 491 0082 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 623:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 492 .loc 1 623 14 view .LVU136 493 0086 032B cmp r3, #3 494 0088 03D0 beq .L40 629:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 495 .loc 1 629 13 is_stmt 1 view .LVU137 496 008a FFF7FEFF bl USBD_CtlError 497 .LVL45: 630:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 498 .loc 1 630 13 view .LVU138 630:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 499 .loc 1 630 17 is_stmt 0 view .LVU139 500 008e 0225 movs r5, #2 501 0090 1EE0 b .L32 502 .LVL46: 503 .L40: 625:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 504 .loc 1 625 13 is_stmt 1 view .LVU140 505 0092 0222 movs r2, #2 506 0094 01A9 add r1, sp, #4 507 .LVL47: 625:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 508 .loc 1 625 13 is_stmt 0 view .LVU141 509 0096 FFF7FEFF bl USBD_CtlSendData 510 .LVL48: 589:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 511 .loc 1 589 11 view .LVU142 512 009a 3D46 mov r5, r7 513 009c 18E0 b .L32 514 .LVL49: 515 .L33: 635:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 516 .loc 1 635 11 is_stmt 1 view .LVU143 635:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 517 .loc 1 635 19 is_stmt 0 view .LVU144 518 009e 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 635:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 519 .loc 1 635 14 view .LVU145 520 00a2 032B cmp r3, #3 521 00a4 03D0 beq .L41 641:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 522 .loc 1 641 13 is_stmt 1 view .LVU146 523 00a6 FFF7FEFF bl USBD_CtlError 524 .LVL50: 642:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 525 .loc 1 642 13 view .LVU147 642:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 526 .loc 1 642 17 is_stmt 0 view .LVU148 527 00aa 0225 movs r5, #2 528 00ac 10E0 b .L32 529 .LVL51: 530 .L41: ARM GAS /tmp/cc5SjA9n.s page 26 637:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 531 .loc 1 637 13 is_stmt 1 view .LVU149 532 00ae 0122 movs r2, #1 533 00b0 0DF10701 add r1, sp, #7 534 .LVL52: 637:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 535 .loc 1 637 13 is_stmt 0 view .LVU150 536 00b4 FFF7FEFF bl USBD_CtlSendData 537 .LVL53: 637:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 538 .loc 1 637 13 view .LVU151 539 00b8 0AE0 b .L32 540 .LVL54: 541 .L34: 647:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 542 .loc 1 647 11 is_stmt 1 view .LVU152 647:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 543 .loc 1 647 19 is_stmt 0 view .LVU153 544 00ba 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 647:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 545 .loc 1 647 14 view .LVU154 546 00be 032B cmp r3, #3 547 00c0 06D0 beq .L32 649:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 548 .loc 1 649 13 is_stmt 1 view .LVU155 549 00c2 FFF7FEFF bl USBD_CtlError 550 .LVL55: 650:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 551 .loc 1 650 13 view .LVU156 650:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 552 .loc 1 650 17 is_stmt 0 view .LVU157 553 00c6 0225 movs r5, #2 554 00c8 02E0 b .L32 555 .LVL56: 556 .L29: 662:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 557 .loc 1 662 7 is_stmt 1 view .LVU158 558 00ca FFF7FEFF bl USBD_CtlError 559 .LVL57: 663:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 560 .loc 1 663 7 view .LVU159 664:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 561 .loc 1 664 7 view .LVU160 663:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 562 .loc 1 663 11 is_stmt 0 view .LVU161 563 00ce 0225 movs r5, #2 564 .LVL58: 565 .L32: 667:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 566 .loc 1 667 3 is_stmt 1 view .LVU162 668:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 567 .loc 1 668 1 is_stmt 0 view .LVU163 568 00d0 2846 mov r0, r5 569 00d2 03B0 add sp, sp, #12 570 .LCFI5: 571 .cfi_def_cfa_offset 20 572 @ sp needed ARM GAS /tmp/cc5SjA9n.s page 27 573 00d4 F0BD pop {r4, r5, r6, r7, pc} 668:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 574 .loc 1 668 1 view .LVU164 575 .cfi_endproc 576 .LFE657: 578 .section .text.USBD_CDC_DeInit,"ax",%progbits 579 .align 1 580 .syntax unified 581 .thumb 582 .thumb_func 584 USBD_CDC_DeInit: 585 .LVL59: 586 .LFB656: 550:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ret = 0U; 587 .loc 1 550 1 is_stmt 1 view -0 588 .cfi_startproc 589 @ args = 0, pretend = 0, frame = 0 590 @ frame_needed = 0, uses_anonymous_args = 0 550:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ret = 0U; 591 .loc 1 550 1 is_stmt 0 view .LVU166 592 0000 38B5 push {r3, r4, r5, lr} 593 .LCFI6: 594 .cfi_def_cfa_offset 16 595 .cfi_offset 3, -16 596 .cfi_offset 4, -12 597 .cfi_offset 5, -8 598 .cfi_offset 14, -4 599 0002 0446 mov r4, r0 551:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 600 .loc 1 551 3 is_stmt 1 view .LVU167 601 .LVL60: 554:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDC_IN_EP & 0xFU].is_used = 0U; 602 .loc 1 554 3 view .LVU168 603 0004 8121 movs r1, #129 604 .LVL61: 554:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDC_IN_EP & 0xFU].is_used = 0U; 605 .loc 1 554 3 is_stmt 0 view .LVU169 606 0006 FFF7FEFF bl USBD_LL_CloseEP 607 .LVL62: 555:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 608 .loc 1 555 3 is_stmt 1 view .LVU170 555:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 609 .loc 1 555 41 is_stmt 0 view .LVU171 610 000a 0025 movs r5, #0 611 000c E562 str r5, [r4, #44] 558:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_out[CDC_OUT_EP & 0xFU].is_used = 0U; 612 .loc 1 558 3 is_stmt 1 view .LVU172 613 000e 0121 movs r1, #1 614 0010 2046 mov r0, r4 615 0012 FFF7FEFF bl USBD_LL_CloseEP 616 .LVL63: 559:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 617 .loc 1 559 3 view .LVU173 559:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 618 .loc 1 559 43 is_stmt 0 view .LVU174 619 0016 C4F86C51 str r5, [r4, #364] 562:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDC_CMD_EP & 0xFU].is_used = 0U; ARM GAS /tmp/cc5SjA9n.s page 28 620 .loc 1 562 3 is_stmt 1 view .LVU175 621 001a 8221 movs r1, #130 622 001c 2046 mov r0, r4 623 001e FFF7FEFF bl USBD_LL_CloseEP 624 .LVL64: 563:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 625 .loc 1 563 3 view .LVU176 563:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 626 .loc 1 563 42 is_stmt 0 view .LVU177 627 0022 2564 str r5, [r4, #64] 566:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 628 .loc 1 566 3 is_stmt 1 view .LVU178 566:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 629 .loc 1 566 11 is_stmt 0 view .LVU179 630 0024 D4F8B832 ldr r3, [r4, #696] 566:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 631 .loc 1 566 6 view .LVU180 632 0028 4BB1 cbz r3, .L43 568:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_free(pdev->pClassData); 633 .loc 1 568 5 is_stmt 1 view .LVU181 568:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_free(pdev->pClassData); 634 .loc 1 568 33 is_stmt 0 view .LVU182 635 002a D4F8BC32 ldr r3, [r4, #700] 568:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_free(pdev->pClassData); 636 .loc 1 568 45 view .LVU183 637 002e 5B68 ldr r3, [r3, #4] 568:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_free(pdev->pClassData); 638 .loc 1 568 6 view .LVU184 639 0030 9847 blx r3 640 .LVL65: 569:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassData = NULL; 641 .loc 1 569 5 is_stmt 1 view .LVU185 642 0032 D4F8B802 ldr r0, [r4, #696] 643 0036 FFF7FEFF bl USBD_static_free 644 .LVL66: 570:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 645 .loc 1 570 5 view .LVU186 570:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 646 .loc 1 570 22 is_stmt 0 view .LVU187 647 003a C4F8B852 str r5, [r4, #696] 648 .L43: 573:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 649 .loc 1 573 3 is_stmt 1 view .LVU188 574:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 650 .loc 1 574 1 is_stmt 0 view .LVU189 651 003e 0020 movs r0, #0 652 0040 38BD pop {r3, r4, r5, pc} 574:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 653 .loc 1 574 1 view .LVU190 654 .cfi_endproc 655 .LFE656: 657 .section .text.USBD_CDC_Init,"ax",%progbits 658 .align 1 659 .syntax unified 660 .thumb 661 .thumb_func 663 USBD_CDC_Init: ARM GAS /tmp/cc5SjA9n.s page 29 664 .LVL67: 665 .LFB655: 472:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ret = 0U; 666 .loc 1 472 1 is_stmt 1 view -0 667 .cfi_startproc 668 @ args = 0, pretend = 0, frame = 0 669 @ frame_needed = 0, uses_anonymous_args = 0 472:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ret = 0U; 670 .loc 1 472 1 is_stmt 0 view .LVU192 671 0000 70B5 push {r4, r5, r6, lr} 672 .LCFI7: 673 .cfi_def_cfa_offset 16 674 .cfi_offset 4, -16 675 .cfi_offset 5, -12 676 .cfi_offset 6, -8 677 .cfi_offset 14, -4 678 0002 0446 mov r4, r0 473:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc; 679 .loc 1 473 3 is_stmt 1 view .LVU193 680 .LVL68: 474:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 681 .loc 1 474 3 view .LVU194 476:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 682 .loc 1 476 3 view .LVU195 476:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 683 .loc 1 476 11 is_stmt 0 view .LVU196 684 0004 037C ldrb r3, [r0, #16] @ zero_extendqisi2 476:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 685 .loc 1 476 6 view .LVU197 686 0006 ABBB cbnz r3, .L46 479:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_IN_PACKET_SIZE); 687 .loc 1 479 5 is_stmt 1 view .LVU198 688 0008 4FF40073 mov r3, #512 689 000c 0222 movs r2, #2 690 000e 8121 movs r1, #129 691 .LVL69: 479:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_IN_PACKET_SIZE); 692 .loc 1 479 5 is_stmt 0 view .LVU199 693 0010 FFF7FEFF bl USBD_LL_OpenEP 694 .LVL70: 482:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 695 .loc 1 482 5 is_stmt 1 view .LVU200 482:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 696 .loc 1 482 43 is_stmt 0 view .LVU201 697 0014 0125 movs r5, #1 698 0016 E562 str r5, [r4, #44] 485:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 699 .loc 1 485 5 is_stmt 1 view .LVU202 700 0018 4FF40073 mov r3, #512 701 001c 0222 movs r2, #2 702 001e 2946 mov r1, r5 703 0020 2046 mov r0, r4 704 0022 FFF7FEFF bl USBD_LL_OpenEP 705 .LVL71: 488:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 706 .loc 1 488 5 view .LVU203 488:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ARM GAS /tmp/cc5SjA9n.s page 30 707 .loc 1 488 45 is_stmt 0 view .LVU204 708 0026 C4F86C51 str r5, [r4, #364] 709 .L47: 506:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDC_CMD_EP & 0xFU].is_used = 1U; 710 .loc 1 506 3 is_stmt 1 view .LVU205 711 002a 0823 movs r3, #8 712 002c 0322 movs r2, #3 713 002e 8221 movs r1, #130 714 0030 2046 mov r0, r4 715 0032 FFF7FEFF bl USBD_LL_OpenEP 716 .LVL72: 507:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 717 .loc 1 507 3 view .LVU206 507:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 718 .loc 1 507 42 is_stmt 0 view .LVU207 719 0036 0123 movs r3, #1 720 0038 2364 str r3, [r4, #64] 509:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 721 .loc 1 509 3 is_stmt 1 view .LVU208 509:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 722 .loc 1 509 22 is_stmt 0 view .LVU209 723 003a 4FF40770 mov r0, #540 724 003e FFF7FEFF bl USBD_static_malloc 725 .LVL73: 726 0042 0546 mov r5, r0 509:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 727 .loc 1 509 20 view .LVU210 728 0044 C4F8B802 str r0, [r4, #696] 511:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 729 .loc 1 511 3 is_stmt 1 view .LVU211 511:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 730 .loc 1 511 6 is_stmt 0 view .LVU212 731 0048 68B3 cbz r0, .L50 517:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 732 .loc 1 517 5 is_stmt 1 view .LVU213 733 .LVL74: 520:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 734 .loc 1 520 5 view .LVU214 520:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 735 .loc 1 520 33 is_stmt 0 view .LVU215 736 004a D4F8BC32 ldr r3, [r4, #700] 520:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 737 .loc 1 520 45 view .LVU216 738 004e 1B68 ldr r3, [r3] 520:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 739 .loc 1 520 6 view .LVU217 740 0050 9847 blx r3 741 .LVL75: 523:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxState = 0U; 742 .loc 1 523 5 is_stmt 1 view .LVU218 523:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxState = 0U; 743 .loc 1 523 19 is_stmt 0 view .LVU219 744 0052 0023 movs r3, #0 745 0054 C5F81432 str r3, [r5, #532] 524:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 746 .loc 1 524 5 is_stmt 1 view .LVU220 524:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ARM GAS /tmp/cc5SjA9n.s page 31 747 .loc 1 524 19 is_stmt 0 view .LVU221 748 0058 C5F81832 str r3, [r5, #536] 526:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 749 .loc 1 526 5 is_stmt 1 view .LVU222 526:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 750 .loc 1 526 13 is_stmt 0 view .LVU223 751 005c 267C ldrb r6, [r4, #16] @ zero_extendqisi2 526:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 752 .loc 1 526 8 view .LVU224 753 005e CEB9 cbnz r6, .L49 529:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 754 .loc 1 529 7 is_stmt 1 view .LVU225 755 0060 4FF40073 mov r3, #512 756 0064 D5F80422 ldr r2, [r5, #516] 757 0068 0121 movs r1, #1 758 006a 2046 mov r0, r4 759 006c FFF7FEFF bl USBD_LL_PrepareReceive 760 .LVL76: 761 .L48: 539:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 762 .loc 1 539 3 view .LVU226 540:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 763 .loc 1 540 1 is_stmt 0 view .LVU227 764 0070 3046 mov r0, r6 765 0072 70BD pop {r4, r5, r6, pc} 766 .LVL77: 767 .L46: 494:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_IN_PACKET_SIZE); 768 .loc 1 494 5 is_stmt 1 view .LVU228 769 0074 4023 movs r3, #64 770 0076 0222 movs r2, #2 771 0078 8121 movs r1, #129 772 .LVL78: 494:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_IN_PACKET_SIZE); 773 .loc 1 494 5 is_stmt 0 view .LVU229 774 007a FFF7FEFF bl USBD_LL_OpenEP 775 .LVL79: 497:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 776 .loc 1 497 5 is_stmt 1 view .LVU230 497:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 777 .loc 1 497 43 is_stmt 0 view .LVU231 778 007e 0125 movs r5, #1 779 0080 E562 str r5, [r4, #44] 500:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 780 .loc 1 500 5 is_stmt 1 view .LVU232 781 0082 4023 movs r3, #64 782 0084 0222 movs r2, #2 783 0086 2946 mov r1, r5 784 0088 2046 mov r0, r4 785 008a FFF7FEFF bl USBD_LL_OpenEP 786 .LVL80: 503:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 787 .loc 1 503 5 view .LVU233 503:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 788 .loc 1 503 45 is_stmt 0 view .LVU234 789 008e C4F86C51 str r5, [r4, #364] 790 0092 CAE7 b .L47 ARM GAS /tmp/cc5SjA9n.s page 32 791 .LVL81: 792 .L49: 535:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 793 .loc 1 535 7 is_stmt 1 view .LVU235 794 0094 4023 movs r3, #64 795 0096 D5F80422 ldr r2, [r5, #516] 796 009a 0121 movs r1, #1 797 009c 2046 mov r0, r4 798 009e FFF7FEFF bl USBD_LL_PrepareReceive 799 .LVL82: 473:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc; 800 .loc 1 473 11 is_stmt 0 view .LVU236 801 00a2 0026 movs r6, #0 802 00a4 E4E7 b .L48 803 .LVL83: 804 .L50: 513:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 805 .loc 1 513 9 view .LVU237 806 00a6 0126 movs r6, #1 807 00a8 E2E7 b .L48 808 .cfi_endproc 809 .LFE655: 811 .section .text.USBD_CDC_RegisterInterface,"ax",%progbits 812 .align 1 813 .global USBD_CDC_RegisterInterface 814 .syntax unified 815 .thumb 816 .thumb_func 818 USBD_CDC_RegisterInterface: 819 .LVL84: 820 .LFB665: 803:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 804:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 805:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_RegisterInterface 806:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 807:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param fops: CD Interface callback 808:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 809:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 810:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t USBD_CDC_RegisterInterface(USBD_HandleTypeDef *pdev, 811:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_ItfTypeDef *fops) 812:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 821 .loc 1 812 1 is_stmt 1 view -0 822 .cfi_startproc 823 @ args = 0, pretend = 0, frame = 0 824 @ frame_needed = 0, uses_anonymous_args = 0 825 @ link register save eliminated. 813:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ret = USBD_FAIL; 826 .loc 1 813 3 view .LVU239 814:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 815:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (fops != NULL) 827 .loc 1 815 3 view .LVU240 828 .loc 1 815 6 is_stmt 0 view .LVU241 829 0000 19B1 cbz r1, .L54 816:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 817:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pUserData = fops; 830 .loc 1 817 5 is_stmt 1 view .LVU242 831 .loc 1 817 21 is_stmt 0 view .LVU243 ARM GAS /tmp/cc5SjA9n.s page 33 832 0002 C0F8BC12 str r1, [r0, #700] 818:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_OK; 833 .loc 1 818 5 is_stmt 1 view .LVU244 834 .LVL85: 835 .loc 1 818 9 is_stmt 0 view .LVU245 836 0006 0020 movs r0, #0 837 .LVL86: 838 .loc 1 818 9 view .LVU246 839 0008 7047 bx lr 840 .LVL87: 841 .L54: 813:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 842 .loc 1 813 12 view .LVU247 843 000a 0220 movs r0, #2 844 .LVL88: 819:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 820:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 821:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return ret; 845 .loc 1 821 3 is_stmt 1 view .LVU248 822:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 846 .loc 1 822 1 is_stmt 0 view .LVU249 847 000c 7047 bx lr 848 .cfi_endproc 849 .LFE665: 851 .section .text.USBD_CDC_SetTxBuffer,"ax",%progbits 852 .align 1 853 .global USBD_CDC_SetTxBuffer 854 .syntax unified 855 .thumb 856 .thumb_func 858 USBD_CDC_SetTxBuffer: 859 .LVL89: 860 .LFB666: 823:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 824:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 825:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_SetTxBuffer 826:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 827:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pbuff: Tx Buffer 828:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 829:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 830:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t USBD_CDC_SetTxBuffer(USBD_HandleTypeDef *pdev, 831:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t *pbuff, 832:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint16_t length) 833:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 861 .loc 1 833 1 is_stmt 1 view -0 862 .cfi_startproc 863 @ args = 0, pretend = 0, frame = 0 864 @ frame_needed = 0, uses_anonymous_args = 0 865 @ link register save eliminated. 834:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 866 .loc 1 834 3 view .LVU251 867 .loc 1 834 29 is_stmt 0 view .LVU252 868 0000 D0F8B832 ldr r3, [r0, #696] 869 .LVL90: 835:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 836:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->TxBuffer = pbuff; 870 .loc 1 836 3 is_stmt 1 view .LVU253 ARM GAS /tmp/cc5SjA9n.s page 34 871 .loc 1 836 18 is_stmt 0 view .LVU254 872 0004 C3F80812 str r1, [r3, #520] 837:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->TxLength = length; 873 .loc 1 837 3 is_stmt 1 view .LVU255 874 .loc 1 837 18 is_stmt 0 view .LVU256 875 0008 C3F81022 str r2, [r3, #528] 838:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 839:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_OK; 876 .loc 1 839 3 is_stmt 1 view .LVU257 840:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 877 .loc 1 840 1 is_stmt 0 view .LVU258 878 000c 0020 movs r0, #0 879 .LVL91: 880 .loc 1 840 1 view .LVU259 881 000e 7047 bx lr 882 .cfi_endproc 883 .LFE666: 885 .section .text.USBD_CDC_SetRxBuffer,"ax",%progbits 886 .align 1 887 .global USBD_CDC_SetRxBuffer 888 .syntax unified 889 .thumb 890 .thumb_func 892 USBD_CDC_SetRxBuffer: 893 .LVL92: 894 .LFB667: 841:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 842:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 843:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 844:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_SetRxBuffer 845:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 846:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pbuff: Rx Buffer 847:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 848:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 849:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t USBD_CDC_SetRxBuffer(USBD_HandleTypeDef *pdev, 850:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t *pbuff) 851:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 895 .loc 1 851 1 is_stmt 1 view -0 896 .cfi_startproc 897 @ args = 0, pretend = 0, frame = 0 898 @ frame_needed = 0, uses_anonymous_args = 0 899 @ link register save eliminated. 852:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 900 .loc 1 852 3 view .LVU261 901 .loc 1 852 29 is_stmt 0 view .LVU262 902 0000 D0F8B832 ldr r3, [r0, #696] 903 .LVL93: 853:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 854:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxBuffer = pbuff; 904 .loc 1 854 3 is_stmt 1 view .LVU263 905 .loc 1 854 18 is_stmt 0 view .LVU264 906 0004 C3F80412 str r1, [r3, #516] 855:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 856:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_OK; 907 .loc 1 856 3 is_stmt 1 view .LVU265 857:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 908 .loc 1 857 1 is_stmt 0 view .LVU266 ARM GAS /tmp/cc5SjA9n.s page 35 909 0008 0020 movs r0, #0 910 .LVL94: 911 .loc 1 857 1 view .LVU267 912 000a 7047 bx lr 913 .cfi_endproc 914 .LFE667: 916 .section .text.USBD_CDC_TransmitPacket,"ax",%progbits 917 .align 1 918 .global USBD_CDC_TransmitPacket 919 .syntax unified 920 .thumb 921 .thumb_func 923 USBD_CDC_TransmitPacket: 924 .LVL95: 925 .LFB668: 858:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 859:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 860:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_TransmitPacket 861:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Transmit packet on IN endpoint 862:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 863:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 864:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 865:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t USBD_CDC_TransmitPacket(USBD_HandleTypeDef *pdev) 866:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 926 .loc 1 866 1 is_stmt 1 view -0 927 .cfi_startproc 928 @ args = 0, pretend = 0, frame = 0 929 @ frame_needed = 0, uses_anonymous_args = 0 867:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 930 .loc 1 867 3 view .LVU269 931 .loc 1 867 29 is_stmt 0 view .LVU270 932 0000 D0F8B822 ldr r2, [r0, #696] 933 .LVL96: 868:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 869:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->pClassData != NULL) 934 .loc 1 869 3 is_stmt 1 view .LVU271 935 .loc 1 869 6 is_stmt 0 view .LVU272 936 0004 A2B1 cbz r2, .L59 866:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 937 .loc 1 866 1 view .LVU273 938 0006 08B5 push {r3, lr} 939 .LCFI8: 940 .cfi_def_cfa_offset 8 941 .cfi_offset 3, -8 942 .cfi_offset 14, -4 870:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 871:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (hcdc->TxState == 0U) 943 .loc 1 871 5 is_stmt 1 view .LVU274 944 .loc 1 871 13 is_stmt 0 view .LVU275 945 0008 D2F81432 ldr r3, [r2, #532] 946 .loc 1 871 8 view .LVU276 947 000c 0BB1 cbz r3, .L65 872:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 873:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Tx Transfer in progress */ 874:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->TxState = 1U; 875:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 876:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Update the packet total length */ ARM GAS /tmp/cc5SjA9n.s page 36 877:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDC_IN_EP & 0xFU].total_length = hcdc->TxLength; 878:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 879:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Transmit next packet */ 880:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_Transmit(pdev, CDC_IN_EP, hcdc->TxBuffer, 881:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint16_t)hcdc->TxLength); 882:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 883:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_OK; 884:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 885:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 886:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 887:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_BUSY; 948 .loc 1 887 14 view .LVU277 949 000e 0120 movs r0, #1 950 .LVL97: 951 .L58: 888:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 889:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 890:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 891:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 892:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_FAIL; 893:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 894:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 952 .loc 1 894 1 view .LVU278 953 0010 08BD pop {r3, pc} 954 .LVL98: 955 .L65: 874:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 956 .loc 1 874 7 is_stmt 1 view .LVU279 874:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 957 .loc 1 874 21 is_stmt 0 view .LVU280 958 0012 0123 movs r3, #1 959 0014 C2F81432 str r3, [r2, #532] 877:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 960 .loc 1 877 7 is_stmt 1 view .LVU281 877:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 961 .loc 1 877 56 is_stmt 0 view .LVU282 962 0018 D2F81032 ldr r3, [r2, #528] 877:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 963 .loc 1 877 50 view .LVU283 964 001c 0363 str r3, [r0, #48] 880:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint16_t)hcdc->TxLength); 965 .loc 1 880 7 is_stmt 1 view .LVU284 966 001e B2F81032 ldrh r3, [r2, #528] 967 0022 D2F80822 ldr r2, [r2, #520] 968 .LVL99: 880:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint16_t)hcdc->TxLength); 969 .loc 1 880 7 is_stmt 0 view .LVU285 970 0026 8121 movs r1, #129 971 0028 FFF7FEFF bl USBD_LL_Transmit 972 .LVL100: 883:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 973 .loc 1 883 7 is_stmt 1 view .LVU286 883:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 974 .loc 1 883 14 is_stmt 0 view .LVU287 975 002c 0020 movs r0, #0 976 002e EFE7 b .L58 977 .LVL101: ARM GAS /tmp/cc5SjA9n.s page 37 978 .L59: 979 .LCFI9: 980 .cfi_def_cfa_offset 0 981 .cfi_restore 3 982 .cfi_restore 14 892:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 983 .loc 1 892 12 view .LVU288 984 0030 0220 movs r0, #2 985 .LVL102: 986 .loc 1 894 1 view .LVU289 987 0032 7047 bx lr 988 .cfi_endproc 989 .LFE668: 991 .section .text.USBD_CDC_ReceivePacket,"ax",%progbits 992 .align 1 993 .global USBD_CDC_ReceivePacket 994 .syntax unified 995 .thumb 996 .thumb_func 998 USBD_CDC_ReceivePacket: 999 .LVL103: 1000 .LFB669: 895:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 896:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 897:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 898:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_ReceivePacket 899:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * prepare OUT Endpoint for reception 900:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 901:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 902:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 903:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t USBD_CDC_ReceivePacket(USBD_HandleTypeDef *pdev) 904:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1001 .loc 1 904 1 is_stmt 1 view -0 1002 .cfi_startproc 1003 @ args = 0, pretend = 0, frame = 0 1004 @ frame_needed = 0, uses_anonymous_args = 0 905:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 1005 .loc 1 905 3 view .LVU291 1006 .loc 1 905 29 is_stmt 0 view .LVU292 1007 0000 D0F8B822 ldr r2, [r0, #696] 1008 .LVL104: 906:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 907:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Suspend or Resume USB Out process */ 908:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->pClassData != NULL) 1009 .loc 1 908 3 is_stmt 1 view .LVU293 1010 .loc 1 908 6 is_stmt 0 view .LVU294 1011 0004 92B1 cbz r2, .L70 904:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData; 1012 .loc 1 904 1 view .LVU295 1013 0006 08B5 push {r3, lr} 1014 .LCFI10: 1015 .cfi_def_cfa_offset 8 1016 .cfi_offset 3, -8 1017 .cfi_offset 14, -4 909:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 910:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_speed == USBD_SPEED_HIGH) 1018 .loc 1 910 5 is_stmt 1 view .LVU296 ARM GAS /tmp/cc5SjA9n.s page 38 1019 .loc 1 910 13 is_stmt 0 view .LVU297 1020 0008 037C ldrb r3, [r0, #16] @ zero_extendqisi2 1021 .loc 1 910 8 view .LVU298 1022 000a 43B9 cbnz r3, .L68 911:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 912:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Prepare Out endpoint to receive next packet */ 913:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_PrepareReceive(pdev, 1023 .loc 1 913 7 is_stmt 1 view .LVU299 1024 000c 4FF40073 mov r3, #512 1025 0010 D2F80422 ldr r2, [r2, #516] 1026 .LVL105: 1027 .loc 1 913 7 is_stmt 0 view .LVU300 1028 0014 0121 movs r1, #1 1029 0016 FFF7FEFF bl USBD_LL_PrepareReceive 1030 .LVL106: 1031 .L69: 914:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_OUT_EP, 915:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxBuffer, 916:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 917:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 918:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 919:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 920:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Prepare Out endpoint to receive next packet */ 921:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_LL_PrepareReceive(pdev, 922:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_OUT_EP, 923:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxBuffer, 924:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 925:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 926:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_OK; 1032 .loc 1 926 5 is_stmt 1 view .LVU301 1033 .loc 1 926 12 is_stmt 0 view .LVU302 1034 001a 0020 movs r0, #0 927:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 928:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 929:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 930:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_FAIL; 931:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 932:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1035 .loc 1 932 1 view .LVU303 1036 001c 08BD pop {r3, pc} 1037 .LVL107: 1038 .L68: 921:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_OUT_EP, 1039 .loc 1 921 7 is_stmt 1 view .LVU304 1040 001e 4023 movs r3, #64 1041 0020 D2F80422 ldr r2, [r2, #516] 1042 .LVL108: 921:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_OUT_EP, 1043 .loc 1 921 7 is_stmt 0 view .LVU305 1044 0024 0121 movs r1, #1 1045 0026 FFF7FEFF bl USBD_LL_PrepareReceive 1046 .LVL109: 921:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_OUT_EP, 1047 .loc 1 921 7 view .LVU306 1048 002a F6E7 b .L69 1049 .LVL110: 1050 .L70: ARM GAS /tmp/cc5SjA9n.s page 39 1051 .LCFI11: 1052 .cfi_def_cfa_offset 0 1053 .cfi_restore 3 1054 .cfi_restore 14 930:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1055 .loc 1 930 12 view .LVU307 1056 002c 0220 movs r0, #2 1057 .LVL111: 1058 .loc 1 932 1 view .LVU308 1059 002e 7047 bx lr 1060 .cfi_endproc 1061 .LFE669: 1063 .global USBD_CDC_OtherSpeedCfgDesc 1064 .global USBD_CDC_CfgFSDesc 1065 .global USBD_CDC_CfgHSDesc 1066 .global USBD_CDC 1067 .section .data.USBD_CDC,"aw" 1068 .align 2 1071 USBD_CDC: 1072 0000 00000000 .word USBD_CDC_Init 1073 0004 00000000 .word USBD_CDC_DeInit 1074 0008 00000000 .word USBD_CDC_Setup 1075 000c 00000000 .word 0 1076 0010 00000000 .word USBD_CDC_EP0_RxReady 1077 0014 00000000 .word USBD_CDC_DataIn 1078 0018 00000000 .word USBD_CDC_DataOut 1079 001c 00000000 .word 0 1080 0020 00000000 .word 0 1081 0024 00000000 .word 0 1082 0028 00000000 .word USBD_CDC_GetHSCfgDesc 1083 002c 00000000 .word USBD_CDC_GetFSCfgDesc 1084 0030 00000000 .word USBD_CDC_GetOtherSpeedCfgDesc 1085 0034 00000000 .word USBD_CDC_GetDeviceQualifierDescriptor 1086 .section .data.USBD_CDC_CfgFSDesc,"aw" 1087 .align 2 1088 .set .LANCHOR0,. + 0 1091 USBD_CDC_CfgFSDesc: 1092 0000 09024300 .ascii "\011\002C\000\002\001\000\3002\011\004\000\000\001\002" 1092 020100C0 1092 32090400 1092 000102 1093 000f 02010005 .ascii "\002\001\000\005$\000\020\001\005$\001\000\001\004$" 1093 24001001 1093 05240100 1093 010424 1094 001e 02020524 .ascii "\002\002\005$\006\000\001\007\005\202\003\010\000\020" 1094 06000107 1094 05820308 1094 0010 1095 002c 09040100 .ascii "\011\004\001\000\002\012\000\000\000\007\005\001\002" 1095 020A0000 1095 00070501 1095 02 1096 0039 40000007 .ascii "@\000\000\007\005\201\002@\000\000" 1096 05810240 1096 0000 1097 .section .data.USBD_CDC_CfgHSDesc,"aw" ARM GAS /tmp/cc5SjA9n.s page 40 1098 .align 2 1099 .set .LANCHOR1,. + 0 1102 USBD_CDC_CfgHSDesc: 1103 0000 09024300 .ascii "\011\002C\000\002\001\000\3002\011\004\000\000\001\002" 1103 020100C0 1103 32090400 1103 000102 1104 000f 02010005 .ascii "\002\001\000\005$\000\020\001\005$\001\000\001\004$" 1104 24001001 1104 05240100 1104 010424 1105 001e 02020524 .ascii "\002\002\005$\006\000\001\007\005\202\003\010\000\020" 1105 06000107 1105 05820308 1105 0010 1106 002c 09040100 .ascii "\011\004\001\000\002\012\000\000\000\007\005\001\002" 1106 020A0000 1106 00070501 1106 02 1107 0039 00020007 .ascii "\000\002\000\007\005\201\002\000\002\000" 1107 05810200 1107 0200 1108 .section .data.USBD_CDC_DeviceQualifierDesc,"aw" 1109 .align 2 1110 .set .LANCHOR3,. + 0 1113 USBD_CDC_DeviceQualifierDesc: 1114 0000 0A060002 .ascii "\012\006\000\002\000\000\000@\001\000" 1114 00000040 1114 0100 1115 .section .data.USBD_CDC_OtherSpeedCfgDesc,"aw" 1116 .align 2 1117 .set .LANCHOR2,. + 0 1120 USBD_CDC_OtherSpeedCfgDesc: 1121 0000 09074300 .ascii "\011\007C\000\002\001\004\3002\011\004\000\000\001\002" 1121 020104C0 1121 32090400 1121 000102 1122 000f 02010005 .ascii "\002\001\000\005$\000\020\001\005$\001\000\001\004$" 1122 24001001 1122 05240100 1122 010424 1123 001e 02020524 .ascii "\002\002\005$\006\000\001\007\005\202\003\010\000\020" 1123 06000107 1123 05820308 1123 0010 1124 002c 09040100 .ascii "\011\004\001\000\002\012\000\000\000\007\005\001\002" 1124 020A0000 1124 00070501 1124 02 1125 0039 40000007 .ascii "@\000\000\007\005\201\002@\000\000" 1125 05810240 1125 0000 1126 .text 1127 .Letext0: 1128 .file 2 "/opt/gcc-arm/arm-none-eabi/include/machine/_default_types.h" 1129 .file 3 "/opt/gcc-arm/arm-none-eabi/include/sys/_stdint.h" 1130 .file 4 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h" ARM GAS /tmp/cc5SjA9n.s page 41 1131 .file 5 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h" 1132 .file 6 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h" 1133 .file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h" 1134 .file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dma.h" 1135 .file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_tim.h" 1136 .file 10 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h" 1137 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h" 1138 .file 12 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h" 1139 .file 13 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h" 1140 .file 14 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h" 1141 .file 15 "USB_DEVICE/Target/usbd_conf.h" ARM GAS /tmp/cc5SjA9n.s page 42 DEFINED SYMBOLS *ABS*:0000000000000000 usbd_cdc.c /tmp/cc5SjA9n.s:18 .text.USBD_CDC_EP0_RxReady:0000000000000000 $t /tmp/cc5SjA9n.s:23 .text.USBD_CDC_EP0_RxReady:0000000000000000 USBD_CDC_EP0_RxReady /tmp/cc5SjA9n.s:74 .text.USBD_CDC_GetFSCfgDesc:0000000000000000 $t /tmp/cc5SjA9n.s:79 .text.USBD_CDC_GetFSCfgDesc:0000000000000000 USBD_CDC_GetFSCfgDesc /tmp/cc5SjA9n.s:100 .text.USBD_CDC_GetFSCfgDesc:0000000000000008 $d /tmp/cc5SjA9n.s:105 .text.USBD_CDC_GetHSCfgDesc:0000000000000000 $t /tmp/cc5SjA9n.s:110 .text.USBD_CDC_GetHSCfgDesc:0000000000000000 USBD_CDC_GetHSCfgDesc /tmp/cc5SjA9n.s:131 .text.USBD_CDC_GetHSCfgDesc:0000000000000008 $d /tmp/cc5SjA9n.s:136 .text.USBD_CDC_GetOtherSpeedCfgDesc:0000000000000000 $t /tmp/cc5SjA9n.s:141 .text.USBD_CDC_GetOtherSpeedCfgDesc:0000000000000000 USBD_CDC_GetOtherSpeedCfgDesc /tmp/cc5SjA9n.s:162 .text.USBD_CDC_GetOtherSpeedCfgDesc:0000000000000008 $d /tmp/cc5SjA9n.s:167 .text.USBD_CDC_GetDeviceQualifierDescriptor:0000000000000000 $t /tmp/cc5SjA9n.s:173 .text.USBD_CDC_GetDeviceQualifierDescriptor:0000000000000000 USBD_CDC_GetDeviceQualifierDescriptor /tmp/cc5SjA9n.s:194 .text.USBD_CDC_GetDeviceQualifierDescriptor:0000000000000008 $d /tmp/cc5SjA9n.s:199 .text.USBD_CDC_DataOut:0000000000000000 $t /tmp/cc5SjA9n.s:204 .text.USBD_CDC_DataOut:0000000000000000 USBD_CDC_DataOut /tmp/cc5SjA9n.s:260 .text.USBD_CDC_DataIn:0000000000000000 $t /tmp/cc5SjA9n.s:265 .text.USBD_CDC_DataIn:0000000000000000 USBD_CDC_DataIn /tmp/cc5SjA9n.s:348 .text.USBD_CDC_Setup:0000000000000000 $t /tmp/cc5SjA9n.s:353 .text.USBD_CDC_Setup:0000000000000000 USBD_CDC_Setup /tmp/cc5SjA9n.s:579 .text.USBD_CDC_DeInit:0000000000000000 $t /tmp/cc5SjA9n.s:584 .text.USBD_CDC_DeInit:0000000000000000 USBD_CDC_DeInit /tmp/cc5SjA9n.s:658 .text.USBD_CDC_Init:0000000000000000 $t /tmp/cc5SjA9n.s:663 .text.USBD_CDC_Init:0000000000000000 USBD_CDC_Init /tmp/cc5SjA9n.s:812 .text.USBD_CDC_RegisterInterface:0000000000000000 $t /tmp/cc5SjA9n.s:818 .text.USBD_CDC_RegisterInterface:0000000000000000 USBD_CDC_RegisterInterface /tmp/cc5SjA9n.s:852 .text.USBD_CDC_SetTxBuffer:0000000000000000 $t /tmp/cc5SjA9n.s:858 .text.USBD_CDC_SetTxBuffer:0000000000000000 USBD_CDC_SetTxBuffer /tmp/cc5SjA9n.s:886 .text.USBD_CDC_SetRxBuffer:0000000000000000 $t /tmp/cc5SjA9n.s:892 .text.USBD_CDC_SetRxBuffer:0000000000000000 USBD_CDC_SetRxBuffer /tmp/cc5SjA9n.s:917 .text.USBD_CDC_TransmitPacket:0000000000000000 $t /tmp/cc5SjA9n.s:923 .text.USBD_CDC_TransmitPacket:0000000000000000 USBD_CDC_TransmitPacket /tmp/cc5SjA9n.s:992 .text.USBD_CDC_ReceivePacket:0000000000000000 $t /tmp/cc5SjA9n.s:998 .text.USBD_CDC_ReceivePacket:0000000000000000 USBD_CDC_ReceivePacket /tmp/cc5SjA9n.s:1120 .data.USBD_CDC_OtherSpeedCfgDesc:0000000000000000 USBD_CDC_OtherSpeedCfgDesc /tmp/cc5SjA9n.s:1091 .data.USBD_CDC_CfgFSDesc:0000000000000000 USBD_CDC_CfgFSDesc /tmp/cc5SjA9n.s:1102 .data.USBD_CDC_CfgHSDesc:0000000000000000 USBD_CDC_CfgHSDesc /tmp/cc5SjA9n.s:1071 .data.USBD_CDC:0000000000000000 USBD_CDC /tmp/cc5SjA9n.s:1068 .data.USBD_CDC:0000000000000000 $d /tmp/cc5SjA9n.s:1087 .data.USBD_CDC_CfgFSDesc:0000000000000000 $d /tmp/cc5SjA9n.s:1098 .data.USBD_CDC_CfgHSDesc:0000000000000000 $d /tmp/cc5SjA9n.s:1109 .data.USBD_CDC_DeviceQualifierDesc:0000000000000000 $d /tmp/cc5SjA9n.s:1113 .data.USBD_CDC_DeviceQualifierDesc:0000000000000000 USBD_CDC_DeviceQualifierDesc /tmp/cc5SjA9n.s:1116 .data.USBD_CDC_OtherSpeedCfgDesc:0000000000000000 $d UNDEFINED SYMBOLS USBD_LL_GetRxDataSize USBD_LL_Transmit USBD_CtlSendData USBD_CtlPrepareRx USBD_CtlError USBD_LL_CloseEP USBD_static_free USBD_LL_OpenEP USBD_static_malloc ARM GAS /tmp/cc5SjA9n.s page 43 USBD_LL_PrepareReceive