ARM GAS /tmp/ccE9OoCn.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 1 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "usbd_cdc.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c" 20 .section .text.USBD_CDC_EP0_RxReady,"ax",%progbits 21 .align 1 22 .syntax unified 23 .thumb 24 .thumb_func 26 USBD_CDC_EP0_RxReady: 27 .LVL0: 28 .LFB248: 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 **** ****************************************************************************** 14:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @attention 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 **** * Copyright (c) 2015 STMicroelectronics. 17:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * All rights reserved. 18:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 19:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * This software is licensed under terms that can be found in the LICENSE file 20:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * in the root directory of this software component. 21:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 22:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 23:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ****************************************************************************** 24:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @verbatim 25:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 26:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * =================================================================== 27:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * CDC Class Driver Description 28:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * =================================================================== 29:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * This driver manages the "Universal Serial Bus Class Definitions for Communications De 30: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 ARM GAS /tmp/ccE9OoCn.s page 2 31:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Communications Class Subclass Specification for PSTN Devices Revision 1.2 February 9, 32:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * This driver implements the following aspects of the specification: 33:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Device descriptor management 34:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Configuration descriptor management 35: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 36:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Requests management (as described in section 6.2 in specification) 37:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Abstract Control Model compliant 38:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Union Functional collection (using 1 IN endpoint for control) 39:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Data interface class 40:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 41:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * These aspects may be enriched or modified for a specific user application. 42:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 43:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * This driver doesn't implement the following aspects of the specification 44: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) 45:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - Any class-specific aspect relative to communication classes should be managed by 46:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * - All communication classes other than PSTN are not managed 47:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * 48:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @endverbatim 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 **** ARM GAS /tmp/ccE9OoCn.s page 3 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 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 **** static uint8_t USBD_CDC_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx); 103:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_DeInit(USBD_HandleTypeDef *pdev, uint8_t cfgidx); 104:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_Setup(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); 105:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum); 106:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum); 107:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_EP0_RxReady(USBD_HandleTypeDef *pdev); 108:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #ifndef USE_USBD_COMPOSITE 109:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetFSCfgDesc(uint16_t *length); 110:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetHSCfgDesc(uint16_t *length); 111:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetOtherSpeedCfgDesc(uint16_t *length); 112:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t *USBD_CDC_GetDeviceQualifierDescriptor(uint16_t *length); 113:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #endif /* USE_USBD_COMPOSITE */ 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 **** #ifndef USE_USBD_COMPOSITE 116:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* USB Standard Device Descriptor */ 117: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 = 118:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 119:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_LEN_DEV_QUALIFIER_DESC, 120:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_DEVICE_QUALIFIER, 121:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 122:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, 123:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 124:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 125:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 126:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x40, 127:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, 128:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 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 **** #endif /* USE_USBD_COMPOSITE */ 131:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 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 **** */ 134:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 135:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** @defgroup USBD_CDC_Private_Variables 136:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @{ 137:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 138:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 139:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 140:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* CDC interface class callbacks structure */ 141:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_ClassTypeDef USBD_CDC = 142:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 143:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_Init, 144:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_DeInit, ARM GAS /tmp/ccE9OoCn.s page 4 145:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_Setup, 146:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, /* EP0_TxSent */ 147:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_EP0_RxReady, 148:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_DataIn, 149:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_DataOut, 150:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, 151:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, 152:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, 153:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #ifdef USE_USBD_COMPOSITE 154:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, 155:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, 156:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, 157:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NULL, 158:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #else 159:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_GetHSCfgDesc, 160:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_GetFSCfgDesc, 161:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_GetOtherSpeedCfgDesc, 162:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_GetDeviceQualifierDescriptor, 163:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #endif /* USE_USBD_COMPOSITE */ 164:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** }; 165:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 166:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #ifndef USE_USBD_COMPOSITE 167:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* USB CDC device Configuration Descriptor */ 168:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** __ALIGN_BEGIN static uint8_t USBD_CDC_CfgDesc[USB_CDC_CONFIG_DESC_SIZ] __ALIGN_END = 169:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 170:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Configuration Descriptor */ 171:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Configuration Descriptor size */ 172:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */ 173:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_CDC_CONFIG_DESC_SIZ, /* wTotalLength */ 174:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, 175:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bNumInterfaces: 2 interfaces */ 176:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bConfigurationValue: Configuration value */ 177:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* iConfiguration: Index of string descriptor 178:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** describing the configuration */ 179:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #if (USBD_SELF_POWERED == 1U) 180:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0xC0, /* bmAttributes: Bus Powered according to user config 181:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #else 182:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x80, /* bmAttributes: Bus Powered according to user config 183:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #endif /* USBD_SELF_POWERED */ 184:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_MAX_POWER, /* MaxPower (mA) */ 185:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 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 **** /* Interface Descriptor */ 189:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Interface Descriptor size */ 190:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_INTERFACE, /* bDescriptorType: Interface */ 191:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Interface descriptor type */ 192:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceNumber: Number of Interface */ 193:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bAlternateSetting: Alternate setting */ 194:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bNumEndpoints: One endpoint used */ 195:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bInterfaceClass: Communication Interface Class */ 196:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bInterfaceSubClass: Abstract Control Model */ 197:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bInterfaceProtocol: Common AT commands */ 198:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* iInterface */ 199:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 200:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Header Functional Descriptor */ 201:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bLength: Endpoint Descriptor size */ ARM GAS /tmp/ccE9OoCn.s page 5 202:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 203:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bDescriptorSubtype: Header Func Desc */ 204:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x10, /* bcdCDC: spec release number */ 205:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, 206:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 207:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Call Management Functional Descriptor */ 208:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bFunctionLength */ 209:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 210:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bDescriptorSubtype: Call Management Func Desc */ 211:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bmCapabilities: D0+D1 */ 212:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bDataInterface */ 213:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 214:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* ACM Functional Descriptor */ 215:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x04, /* bFunctionLength */ 216:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 217:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bDescriptorSubtype: Abstract Control Management de 218:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmCapabilities */ 219:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 220:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Union Functional Descriptor */ 221:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x05, /* bFunctionLength */ 222:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x24, /* bDescriptorType: CS_INTERFACE */ 223:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x06, /* bDescriptorSubtype: Union func desc */ 224:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bMasterInterface: Communication class interface */ 225:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bSlaveInterface0: Data Class Interface */ 226:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 227:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Endpoint 2 Descriptor */ 228:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ 229:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 230:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_CMD_EP, /* bEndpointAddress */ 231:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x03, /* bmAttributes: Interrupt */ 232:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** LOBYTE(CDC_CMD_PACKET_SIZE), /* wMaxPacketSize */ 233:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** HIBYTE(CDC_CMD_PACKET_SIZE), 234:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_FS_BINTERVAL, /* bInterval */ 235:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /*---------------------------------------------------------------------------*/ 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 **** /* Data class interface descriptor */ 238:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x09, /* bLength: Endpoint Descriptor size */ 239:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_INTERFACE, /* bDescriptorType: */ 240:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x01, /* bInterfaceNumber: Number of Interface */ 241:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bAlternateSetting: Alternate setting */ 242:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bNumEndpoints: Two endpoints used */ 243:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x0A, /* bInterfaceClass: CDC */ 244:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceSubClass */ 245:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterfaceProtocol */ 246:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* iInterface */ 247:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 248:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Endpoint OUT Descriptor */ 249:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ 250:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 251:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_OUT_EP, /* bEndpointAddress */ 252:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmAttributes: Bulk */ 253:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** LOBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), /* wMaxPacketSize */ 254:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** HIBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), 255:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00, /* bInterval */ 256:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 257:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Endpoint IN Descriptor */ 258:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x07, /* bLength: Endpoint Descriptor size */ ARM GAS /tmp/ccE9OoCn.s page 6 259:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 260:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_IN_EP, /* bEndpointAddress */ 261:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x02, /* bmAttributes: Bulk */ 262:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** LOBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), /* wMaxPacketSize */ 263:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** HIBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), 264:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 0x00 /* bInterval */ 265:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** }; 266:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #endif /* USE_USBD_COMPOSITE */ 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 **** static uint8_t CDCInEpAdd = CDC_IN_EP; 269:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t CDCOutEpAdd = CDC_OUT_EP; 270:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t CDCCmdEpAdd = CDC_CMD_EP; 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 **** /** 273:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @} 274:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 275:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 276:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** @defgroup USBD_CDC_Private_Functions 277:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @{ 278:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 279:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 280:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 281:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_Init 282:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Initialize the CDC interface 283:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 284:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param cfgidx: Configuration index 285:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 286:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 287:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx) 288:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 289:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** UNUSED(cfgidx); 290:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc; 291:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 292:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc = (USBD_CDC_HandleTypeDef *)USBD_malloc(sizeof(USBD_CDC_HandleTypeDef)); 293:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 294:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (hcdc == NULL) 295:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 296:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassDataCmsit[pdev->classId] = NULL; 297:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_EMEM; 298:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 299:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 300:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_memset(hcdc, 0, sizeof(USBD_CDC_HandleTypeDef)); 301:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 302:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassDataCmsit[pdev->classId] = (void *)hcdc; 303:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassData = pdev->pClassDataCmsit[pdev->classId]; 304:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 305:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #ifdef USE_USBD_COMPOSITE 306:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Get the Endpoints addresses allocated for this class instance */ 307:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDCInEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_IN, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); 308:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDCOutEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_OUT, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); 309:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDCCmdEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_IN, USBD_EP_TYPE_INTR, (uint8_t)pdev->classId); 310:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #endif /* USE_USBD_COMPOSITE */ 311:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 312:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_speed == USBD_SPEED_HIGH) 313:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 314:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Open EP IN */ 315:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_OpenEP(pdev, CDCInEpAdd, USBD_EP_TYPE_BULK, ARM GAS /tmp/ccE9OoCn.s page 7 316:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_IN_PACKET_SIZE); 317:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 318:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCInEpAdd & 0xFU].is_used = 1U; 319:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 320:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Open EP OUT */ 321:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_OpenEP(pdev, CDCOutEpAdd, USBD_EP_TYPE_BULK, 322:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 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 **** pdev->ep_out[CDCOutEpAdd & 0xFU].is_used = 1U; 325:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 326:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Set bInterval for CDC CMD Endpoint */ 327:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCCmdEpAdd & 0xFU].bInterval = CDC_HS_BINTERVAL; 328:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 329:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 330:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 331:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Open EP IN */ 332:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_OpenEP(pdev, CDCInEpAdd, USBD_EP_TYPE_BULK, 333:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_IN_PACKET_SIZE); 334:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 335:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCInEpAdd & 0xFU].is_used = 1U; 336:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 337:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Open EP OUT */ 338:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_OpenEP(pdev, CDCOutEpAdd, USBD_EP_TYPE_BULK, 339:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 340:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 341:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_out[CDCOutEpAdd & 0xFU].is_used = 1U; 342:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 343:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Set bInterval for CMD Endpoint */ 344:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCCmdEpAdd & 0xFU].bInterval = CDC_FS_BINTERVAL; 345:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 346:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 347:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Open Command IN EP */ 348:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_OpenEP(pdev, CDCCmdEpAdd, USBD_EP_TYPE_INTR, CDC_CMD_PACKET_SIZE); 349:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCCmdEpAdd & 0xFU].is_used = 1U; 350:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 351:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxBuffer = NULL; 352:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 353:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Init physical Interface components */ 354:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Init(); 355:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 356:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Init Xfer states */ 357:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->TxState = 0U; 358:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxState = 0U; 359:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 360:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (hcdc->RxBuffer == NULL) 361:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 362:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_EMEM; 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 **** 365:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_speed == USBD_SPEED_HIGH) 366:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 367:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Prepare Out endpoint to receive next packet */ 368:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_PrepareReceive(pdev, CDCOutEpAdd, hcdc->RxBuffer, 369:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 370:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 371:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 372:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { ARM GAS /tmp/ccE9OoCn.s page 8 373:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Prepare Out endpoint to receive next packet */ 374:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_PrepareReceive(pdev, CDCOutEpAdd, hcdc->RxBuffer, 375:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 376:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 377:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 378:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_OK; 379:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 380:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 381:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 382:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_Init 383:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * DeInitialize the CDC layer 384:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 385:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param cfgidx: Configuration index 386:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 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 **** static uint8_t USBD_CDC_DeInit(USBD_HandleTypeDef *pdev, uint8_t cfgidx) 389:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 390:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** UNUSED(cfgidx); 391:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 392:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 393:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #ifdef USE_USBD_COMPOSITE 394:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Get the Endpoints addresses allocated for this CDC class instance */ 395:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDCInEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_IN, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); 396:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDCOutEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_OUT, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); 397:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDCCmdEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_IN, USBD_EP_TYPE_INTR, (uint8_t)pdev->classId); 398:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #endif /* USE_USBD_COMPOSITE */ 399:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 400:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Close EP IN */ 401:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_CloseEP(pdev, CDCInEpAdd); 402:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCInEpAdd & 0xFU].is_used = 0U; 403:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 404:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Close EP OUT */ 405:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_CloseEP(pdev, CDCOutEpAdd); 406:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_out[CDCOutEpAdd & 0xFU].is_used = 0U; 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 **** /* Close Command IN EP */ 409:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_CloseEP(pdev, CDCCmdEpAdd); 410:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCCmdEpAdd & 0xFU].is_used = 0U; 411:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCCmdEpAdd & 0xFU].bInterval = 0U; 412:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 413:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* DeInit physical Interface components */ 414:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->pClassDataCmsit[pdev->classId] != NULL) 415:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 416:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->DeInit(); 417:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_free(pdev->pClassDataCmsit[pdev->classId]); 418:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassDataCmsit[pdev->classId] = NULL; 419:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassData = NULL; 420:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 421:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 422:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_OK; 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 **** * @brief USBD_CDC_Setup 427:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Handle the CDC specific requests 428:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: instance 429:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param req: usb requests ARM GAS /tmp/ccE9OoCn.s page 9 430:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 431:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 432:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_Setup(USBD_HandleTypeDef *pdev, 433:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_SetupReqTypedef *req) 434:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 435:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 436:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint16_t len; 437:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ifalt = 0U; 438:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint16_t status_info = 0U; 439:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_StatusTypeDef ret = USBD_OK; 440:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 441:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (hcdc == NULL) 442:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 443:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_FAIL; 444:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 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 **** switch (req->bmRequest & USB_REQ_TYPE_MASK) 447:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 448:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** case USB_REQ_TYPE_CLASS: 449:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (req->wLength != 0U) 450:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 451:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if ((req->bmRequest & 0x80U) != 0U) 452:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 453:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Control(req->bRequest, 454:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)hcdc->data, 455:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** req->wLength); 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 **** len = MIN(CDC_REQ_MAX_DATA_SIZE, req->wLength); 458:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_CtlSendData(pdev, (uint8_t *)hcdc->data, len); 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 **** else 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 **** hcdc->CmdOpCode = req->bRequest; 463:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->CmdLength = (uint8_t)MIN(req->wLength, USB_MAX_EP0_SIZE); 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 **** (void)USBD_CtlPrepareRx(pdev, (uint8_t *)hcdc->data, hcdc->CmdLength); 466:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 467:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 468:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 469:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 470:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Control(req->bRequest, 471:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)req, 0U); 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 **** break; 474:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 475:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** case USB_REQ_TYPE_STANDARD: 476:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** switch (req->bRequest) 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 **** case USB_REQ_GET_STATUS: 479:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 480:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 481:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_CtlSendData(pdev, (uint8_t *)&status_info, 2U); 482:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 483:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 484:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 485:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlError(pdev, req); 486:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; ARM GAS /tmp/ccE9OoCn.s page 10 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 **** break; 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 **** case USB_REQ_GET_INTERFACE: 491:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 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 **** (void)USBD_CtlSendData(pdev, &ifalt, 1U); 494:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 495:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 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 **** USBD_CtlError(pdev, req); 498:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 499:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 500:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 501:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 502:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** case USB_REQ_SET_INTERFACE: 503:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_state != USBD_STATE_CONFIGURED) 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 **** USBD_CtlError(pdev, req); 506:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 507:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 508:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 509:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 510:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** case USB_REQ_CLEAR_FEATURE: 511:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 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 **** default: 514:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlError(pdev, req); 515:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 516:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 517:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 518:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 519:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 520:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** default: 521:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CtlError(pdev, req); 522:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 523:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 524:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 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 **** return (uint8_t)ret; 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 **** 529:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 530:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_DataIn 531:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Data sent on non-control IN endpoint 532:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 533:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param epnum: endpoint number 534:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 535:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 536:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum) 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 **** USBD_CDC_HandleTypeDef *hcdc; 539:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef *)pdev->pData; 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 **** if (pdev->pClassDataCmsit[pdev->classId] == NULL) 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 **** return (uint8_t)USBD_FAIL; ARM GAS /tmp/ccE9OoCn.s page 11 544:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 545:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 546:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 547:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 548:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if ((pdev->ep_in[epnum & 0xFU].total_length > 0U) && 549:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((pdev->ep_in[epnum & 0xFU].total_length % hpcd->IN_ep[epnum & 0xFU].maxpacket) == 0U)) 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 **** /* Update the packet total length */ 552:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[epnum & 0xFU].total_length = 0U; 553:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 554:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Send ZLP */ 555:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_Transmit(pdev, epnum, NULL, 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 **** else 558:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 559:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->TxState = 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 **** if (((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->TransmitCplt != NULL) 562:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 563:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->TransmitCplt(hcdc->TxBuffer, &hcdc-> 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 **** } 566:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 567:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_OK; 568:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 569:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 570:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 571:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_DataOut 572:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Data received on non-control Out endpoint 573:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 574:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param epnum: endpoint number 575:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 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 **** static uint8_t USBD_CDC_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum) 578:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 579:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 580:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 581:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->pClassDataCmsit[pdev->classId] == NULL) 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 **** return (uint8_t)USBD_FAIL; 584:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 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 **** /* Get the received data length */ 587:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxLength = USBD_LL_GetRxDataSize(pdev, epnum); 588:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 589:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* USB data will be immediately processed, this allow next USB traffic being 590:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** NAKed till the end of the application Xfer */ 591:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 592:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((USBD_CDC_ItfTypeDef *)pdev->pUserData[pdev->classId])->Receive(hcdc->RxBuffer, &hcdc->RxLength) 593:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 594:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_OK; 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 **** 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 **** * @brief USBD_CDC_EP0_RxReady 599:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Handle EP0 Rx Ready event 600:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance ARM GAS /tmp/ccE9OoCn.s page 12 601:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 602:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 603:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t USBD_CDC_EP0_RxReady(USBD_HandleTypeDef *pdev) 604:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 29 .loc 1 604 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 0 32 @ frame_needed = 0, uses_anonymous_args = 0 33 .loc 1 604 1 is_stmt 0 view .LVU1 34 0000 10B5 push {r4, lr} 35 .LCFI0: 36 .cfi_def_cfa_offset 8 37 .cfi_offset 4, -8 38 .cfi_offset 14, -4 605:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 39 .loc 1 605 3 is_stmt 1 view .LVU2 40 .loc 1 605 86 is_stmt 0 view .LVU3 41 0002 D0F8D432 ldr r3, [r0, #724] 42 .loc 1 605 27 view .LVU4 43 0006 03F1B002 add r2, r3, #176 44 000a 50F82240 ldr r4, [r0, r2, lsl #2] 45 .LVL1: 606:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 607:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (hcdc == NULL) 46 .loc 1 607 3 is_stmt 1 view .LVU5 47 .loc 1 607 6 is_stmt 0 view .LVU6 48 000e 8CB1 cbz r4, .L3 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 **** return (uint8_t)USBD_FAIL; 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 **** if ((pdev->pUserData[pdev->classId] != NULL) && (hcdc->CmdOpCode != 0xFFU)) 49 .loc 1 612 3 is_stmt 1 view .LVU7 50 .loc 1 612 23 is_stmt 0 view .LVU8 51 0010 00EB8200 add r0, r0, r2, lsl #2 52 .LVL2: 53 .loc 1 612 23 view .LVU9 54 0014 4368 ldr r3, [r0, #4] 55 .loc 1 612 6 view .LVU10 56 0016 7BB1 cbz r3, .L4 57 .loc 1 612 56 discriminator 1 view .LVU11 58 0018 94F80002 ldrb r0, [r4, #512] @ zero_extendqisi2 59 .loc 1 612 48 discriminator 1 view .LVU12 60 001c FF28 cmp r0, #255 61 001e 0DD0 beq .L5 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[pdev->classId])->Control(hcdc->CmdOpCode, 62 .loc 1 614 5 is_stmt 1 view .LVU13 63 .loc 1 614 60 is_stmt 0 view .LVU14 64 0020 9B68 ldr r3, [r3, #8] 65 .loc 1 614 6 view .LVU15 66 0022 94F80122 ldrb r2, [r4, #513] @ zero_extendqisi2 67 0026 2146 mov r1, r4 68 0028 9847 blx r3 69 .LVL3: 615:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)hcdc->data, 616:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint16_t)hcdc->CmdLength); ARM GAS /tmp/ccE9OoCn.s page 13 617:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->CmdOpCode = 0xFFU; 70 .loc 1 617 5 is_stmt 1 view .LVU16 71 .loc 1 617 21 is_stmt 0 view .LVU17 72 002a FF23 movs r3, #255 73 002c 84F80032 strb r3, [r4, #512] 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 **** 620:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_OK; 74 .loc 1 620 10 view .LVU18 75 0030 0020 movs r0, #0 76 .L2: 621:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 77 .loc 1 621 1 view .LVU19 78 0032 10BD pop {r4, pc} 79 .LVL4: 80 .L3: 609:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 81 .loc 1 609 12 view .LVU20 82 0034 0320 movs r0, #3 83 .LVL5: 609:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 84 .loc 1 609 12 view .LVU21 85 0036 FCE7 b .L2 86 .L4: 620:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 87 .loc 1 620 10 view .LVU22 88 0038 0020 movs r0, #0 89 003a FAE7 b .L2 90 .L5: 91 003c 0020 movs r0, #0 92 003e F8E7 b .L2 93 .cfi_endproc 94 .LFE248: 96 .section .text.USBD_CDC_GetDeviceQualifierDescriptor,"ax",%progbits 97 .align 1 98 .global USBD_CDC_GetDeviceQualifierDescriptor 99 .syntax unified 100 .thumb 101 .thumb_func 103 USBD_CDC_GetDeviceQualifierDescriptor: 104 .LVL6: 105 .LFB252: 622:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #ifndef USE_USBD_COMPOSITE 623:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 624:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_GetFSCfgDesc 625:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Return configuration descriptor 626:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param length : pointer data length 627:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval pointer to descriptor buffer 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 **** static uint8_t *USBD_CDC_GetFSCfgDesc(uint16_t *length) 630:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 631:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); 632:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 633:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 634:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 635:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pEpCmdDesc != NULL) 636:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { ARM GAS /tmp/ccE9OoCn.s page 14 637:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pEpCmdDesc->bInterval = CDC_FS_BINTERVAL; 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 **** 640:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pEpOutDesc != NULL) 641:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 642:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pEpOutDesc->wMaxPacketSize = CDC_DATA_FS_MAX_PACKET_SIZE; 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 **** 645:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pEpInDesc != NULL) 646:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 647:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pEpInDesc->wMaxPacketSize = CDC_DATA_FS_MAX_PACKET_SIZE; 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 **** 650:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** *length = (uint16_t)sizeof(USBD_CDC_CfgDesc); 651:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_CfgDesc; 652:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 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 **** /** 655:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_GetHSCfgDesc 656:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Return configuration descriptor 657:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param length : pointer data length 658:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval pointer to descriptor buffer 659:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 660:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetHSCfgDesc(uint16_t *length) 661:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 662:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); 663:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 664:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 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 **** if (pEpCmdDesc != NULL) 667:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 668:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pEpCmdDesc->bInterval = CDC_HS_BINTERVAL; 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 **** if (pEpOutDesc != NULL) 672:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 673:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pEpOutDesc->wMaxPacketSize = CDC_DATA_HS_MAX_PACKET_SIZE; 674:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 675:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 676:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pEpInDesc != NULL) 677:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 678:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pEpInDesc->wMaxPacketSize = CDC_DATA_HS_MAX_PACKET_SIZE; 679:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 680:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 681:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** *length = (uint16_t)sizeof(USBD_CDC_CfgDesc); 682:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_CfgDesc; 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 **** 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 **** * @brief USBD_CDC_GetOtherSpeedCfgDesc 687:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Return configuration descriptor 688:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param length : pointer data length 689:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval pointer to descriptor buffer 690:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 691:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** static uint8_t *USBD_CDC_GetOtherSpeedCfgDesc(uint16_t *length) 692:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 693:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); ARM GAS /tmp/ccE9OoCn.s page 15 694:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 695:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 696:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 697:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pEpCmdDesc != NULL) 698:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 699:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pEpCmdDesc->bInterval = CDC_FS_BINTERVAL; 700:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 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 **** if (pEpOutDesc != NULL) 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 **** pEpOutDesc->wMaxPacketSize = CDC_DATA_FS_MAX_PACKET_SIZE; 705:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 706:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 707:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pEpInDesc != NULL) 708:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 709:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pEpInDesc->wMaxPacketSize = CDC_DATA_FS_MAX_PACKET_SIZE; 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 **** 712:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** *length = (uint16_t)sizeof(USBD_CDC_CfgDesc); 713:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_CfgDesc; 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 **** 716:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 717:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_GetDeviceQualifierDescriptor 718:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * return Device Qualifier descriptor 719:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param length : pointer data length 720:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval pointer to descriptor buffer 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 **** uint8_t *USBD_CDC_GetDeviceQualifierDescriptor(uint16_t *length) 723:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 106 .loc 1 723 1 is_stmt 1 view -0 107 .cfi_startproc 108 @ args = 0, pretend = 0, frame = 0 109 @ frame_needed = 0, uses_anonymous_args = 0 110 @ link register save eliminated. 724:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** *length = (uint16_t)sizeof(USBD_CDC_DeviceQualifierDesc); 111 .loc 1 724 3 view .LVU24 112 .loc 1 724 11 is_stmt 0 view .LVU25 113 0000 0A23 movs r3, #10 114 0002 0380 strh r3, [r0] @ movhi 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 **** return USBD_CDC_DeviceQualifierDesc; 115 .loc 1 726 3 is_stmt 1 view .LVU26 727:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 116 .loc 1 727 1 is_stmt 0 view .LVU27 117 0004 0048 ldr r0, .L8 118 .LVL7: 119 .loc 1 727 1 view .LVU28 120 0006 7047 bx lr 121 .L9: 122 .align 2 123 .L8: 124 0008 00000000 .word USBD_CDC_DeviceQualifierDesc 125 .cfi_endproc 126 .LFE252: 128 .section .text.USBD_CDC_GetOtherSpeedCfgDesc,"ax",%progbits 129 .align 1 ARM GAS /tmp/ccE9OoCn.s page 16 130 .syntax unified 131 .thumb 132 .thumb_func 134 USBD_CDC_GetOtherSpeedCfgDesc: 135 .LVL8: 136 .LFB251: 692:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); 137 .loc 1 692 1 is_stmt 1 view -0 138 .cfi_startproc 139 @ args = 0, pretend = 0, frame = 0 140 @ frame_needed = 0, uses_anonymous_args = 0 692:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); 141 .loc 1 692 1 is_stmt 0 view .LVU30 142 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 143 .LCFI1: 144 .cfi_def_cfa_offset 24 145 .cfi_offset 3, -24 146 .cfi_offset 4, -20 147 .cfi_offset 5, -16 148 .cfi_offset 6, -12 149 .cfi_offset 7, -8 150 .cfi_offset 14, -4 151 0002 0646 mov r6, r0 693:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 152 .loc 1 693 3 is_stmt 1 view .LVU31 693:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 153 .loc 1 693 36 is_stmt 0 view .LVU32 154 0004 0F4F ldr r7, .L15 155 0006 8221 movs r1, #130 156 0008 3846 mov r0, r7 157 .LVL9: 693:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 158 .loc 1 693 36 view .LVU33 159 000a FFF7FEFF bl USBD_GetEpDesc 160 .LVL10: 161 000e 0546 mov r5, r0 162 .LVL11: 694:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 163 .loc 1 694 3 is_stmt 1 view .LVU34 694:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 164 .loc 1 694 36 is_stmt 0 view .LVU35 165 0010 0121 movs r1, #1 166 0012 3846 mov r0, r7 167 .LVL12: 694:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 168 .loc 1 694 36 view .LVU36 169 0014 FFF7FEFF bl USBD_GetEpDesc 170 .LVL13: 171 0018 0446 mov r4, r0 172 .LVL14: 695:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 173 .loc 1 695 3 is_stmt 1 view .LVU37 695:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 174 .loc 1 695 35 is_stmt 0 view .LVU38 175 001a 8121 movs r1, #129 176 001c 3846 mov r0, r7 177 .LVL15: ARM GAS /tmp/ccE9OoCn.s page 17 695:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 178 .loc 1 695 35 view .LVU39 179 001e FFF7FEFF bl USBD_GetEpDesc 180 .LVL16: 697:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 181 .loc 1 697 3 is_stmt 1 view .LVU40 697:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 182 .loc 1 697 6 is_stmt 0 view .LVU41 183 0022 0DB1 cbz r5, .L11 699:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 184 .loc 1 699 5 is_stmt 1 view .LVU42 699:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 185 .loc 1 699 27 is_stmt 0 view .LVU43 186 0024 1022 movs r2, #16 187 0026 AA71 strb r2, [r5, #6] 188 .L11: 702:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 189 .loc 1 702 3 is_stmt 1 view .LVU44 702:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 190 .loc 1 702 6 is_stmt 0 view .LVU45 191 0028 1CB1 cbz r4, .L12 704:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 192 .loc 1 704 5 is_stmt 1 view .LVU46 704:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 193 .loc 1 704 32 is_stmt 0 view .LVU47 194 002a 4022 movs r2, #64 195 002c 2271 strb r2, [r4, #4] 196 002e 0022 movs r2, #0 197 0030 6271 strb r2, [r4, #5] 198 .L12: 707:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 199 .loc 1 707 3 is_stmt 1 view .LVU48 707:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 200 .loc 1 707 6 is_stmt 0 view .LVU49 201 0032 18B1 cbz r0, .L13 709:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 202 .loc 1 709 5 is_stmt 1 view .LVU50 709:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 203 .loc 1 709 31 is_stmt 0 view .LVU51 204 0034 4022 movs r2, #64 205 0036 0271 strb r2, [r0, #4] 206 0038 0022 movs r2, #0 207 003a 4271 strb r2, [r0, #5] 208 .L13: 712:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_CfgDesc; 209 .loc 1 712 3 is_stmt 1 view .LVU52 712:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_CfgDesc; 210 .loc 1 712 11 is_stmt 0 view .LVU53 211 003c 4323 movs r3, #67 212 003e 3380 strh r3, [r6] @ movhi 713:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 213 .loc 1 713 3 is_stmt 1 view .LVU54 714:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 214 .loc 1 714 1 is_stmt 0 view .LVU55 215 0040 0048 ldr r0, .L15 216 .LVL17: 714:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ARM GAS /tmp/ccE9OoCn.s page 18 217 .loc 1 714 1 view .LVU56 218 0042 F8BD pop {r3, r4, r5, r6, r7, pc} 219 .LVL18: 220 .L16: 714:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 221 .loc 1 714 1 view .LVU57 222 .align 2 223 .L15: 224 0044 00000000 .word USBD_CDC_CfgDesc 225 .cfi_endproc 226 .LFE251: 228 .section .text.USBD_CDC_GetFSCfgDesc,"ax",%progbits 229 .align 1 230 .syntax unified 231 .thumb 232 .thumb_func 234 USBD_CDC_GetFSCfgDesc: 235 .LVL19: 236 .LFB249: 630:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); 237 .loc 1 630 1 is_stmt 1 view -0 238 .cfi_startproc 239 @ args = 0, pretend = 0, frame = 0 240 @ frame_needed = 0, uses_anonymous_args = 0 630:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); 241 .loc 1 630 1 is_stmt 0 view .LVU59 242 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 243 .LCFI2: 244 .cfi_def_cfa_offset 24 245 .cfi_offset 3, -24 246 .cfi_offset 4, -20 247 .cfi_offset 5, -16 248 .cfi_offset 6, -12 249 .cfi_offset 7, -8 250 .cfi_offset 14, -4 251 0002 0646 mov r6, r0 631:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 252 .loc 1 631 3 is_stmt 1 view .LVU60 631:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 253 .loc 1 631 36 is_stmt 0 view .LVU61 254 0004 0F4F ldr r7, .L22 255 0006 8221 movs r1, #130 256 0008 3846 mov r0, r7 257 .LVL20: 631:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 258 .loc 1 631 36 view .LVU62 259 000a FFF7FEFF bl USBD_GetEpDesc 260 .LVL21: 261 000e 0546 mov r5, r0 262 .LVL22: 632:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 263 .loc 1 632 3 is_stmt 1 view .LVU63 632:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 264 .loc 1 632 36 is_stmt 0 view .LVU64 265 0010 0121 movs r1, #1 266 0012 3846 mov r0, r7 267 .LVL23: ARM GAS /tmp/ccE9OoCn.s page 19 632:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 268 .loc 1 632 36 view .LVU65 269 0014 FFF7FEFF bl USBD_GetEpDesc 270 .LVL24: 271 0018 0446 mov r4, r0 272 .LVL25: 633:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 273 .loc 1 633 3 is_stmt 1 view .LVU66 633:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 274 .loc 1 633 35 is_stmt 0 view .LVU67 275 001a 8121 movs r1, #129 276 001c 3846 mov r0, r7 277 .LVL26: 633:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 278 .loc 1 633 35 view .LVU68 279 001e FFF7FEFF bl USBD_GetEpDesc 280 .LVL27: 635:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 281 .loc 1 635 3 is_stmt 1 view .LVU69 635:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 282 .loc 1 635 6 is_stmt 0 view .LVU70 283 0022 0DB1 cbz r5, .L18 637:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 284 .loc 1 637 5 is_stmt 1 view .LVU71 637:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 285 .loc 1 637 27 is_stmt 0 view .LVU72 286 0024 1022 movs r2, #16 287 0026 AA71 strb r2, [r5, #6] 288 .L18: 640:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 289 .loc 1 640 3 is_stmt 1 view .LVU73 640:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 290 .loc 1 640 6 is_stmt 0 view .LVU74 291 0028 1CB1 cbz r4, .L19 642:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 292 .loc 1 642 5 is_stmt 1 view .LVU75 642:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 293 .loc 1 642 32 is_stmt 0 view .LVU76 294 002a 4022 movs r2, #64 295 002c 2271 strb r2, [r4, #4] 296 002e 0022 movs r2, #0 297 0030 6271 strb r2, [r4, #5] 298 .L19: 645:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 299 .loc 1 645 3 is_stmt 1 view .LVU77 645:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 300 .loc 1 645 6 is_stmt 0 view .LVU78 301 0032 18B1 cbz r0, .L20 647:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 302 .loc 1 647 5 is_stmt 1 view .LVU79 647:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 303 .loc 1 647 31 is_stmt 0 view .LVU80 304 0034 4022 movs r2, #64 305 0036 0271 strb r2, [r0, #4] 306 0038 0022 movs r2, #0 307 003a 4271 strb r2, [r0, #5] 308 .L20: ARM GAS /tmp/ccE9OoCn.s page 20 650:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_CfgDesc; 309 .loc 1 650 3 is_stmt 1 view .LVU81 650:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_CfgDesc; 310 .loc 1 650 11 is_stmt 0 view .LVU82 311 003c 4323 movs r3, #67 312 003e 3380 strh r3, [r6] @ movhi 651:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 313 .loc 1 651 3 is_stmt 1 view .LVU83 652:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 314 .loc 1 652 1 is_stmt 0 view .LVU84 315 0040 0048 ldr r0, .L22 316 .LVL28: 652:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 317 .loc 1 652 1 view .LVU85 318 0042 F8BD pop {r3, r4, r5, r6, r7, pc} 319 .LVL29: 320 .L23: 652:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 321 .loc 1 652 1 view .LVU86 322 .align 2 323 .L22: 324 0044 00000000 .word USBD_CDC_CfgDesc 325 .cfi_endproc 326 .LFE249: 328 .section .text.USBD_CDC_GetHSCfgDesc,"ax",%progbits 329 .align 1 330 .syntax unified 331 .thumb 332 .thumb_func 334 USBD_CDC_GetHSCfgDesc: 335 .LVL30: 336 .LFB250: 661:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); 337 .loc 1 661 1 is_stmt 1 view -0 338 .cfi_startproc 339 @ args = 0, pretend = 0, frame = 0 340 @ frame_needed = 0, uses_anonymous_args = 0 661:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpCmdDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_CMD_EP); 341 .loc 1 661 1 is_stmt 0 view .LVU88 342 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 343 .LCFI3: 344 .cfi_def_cfa_offset 24 345 .cfi_offset 3, -24 346 .cfi_offset 4, -20 347 .cfi_offset 5, -16 348 .cfi_offset 6, -12 349 .cfi_offset 7, -8 350 .cfi_offset 14, -4 351 0002 0646 mov r6, r0 662:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 352 .loc 1 662 3 is_stmt 1 view .LVU89 662:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 353 .loc 1 662 36 is_stmt 0 view .LVU90 354 0004 0F4F ldr r7, .L29 355 0006 8221 movs r1, #130 356 0008 3846 mov r0, r7 357 .LVL31: ARM GAS /tmp/ccE9OoCn.s page 21 662:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpOutDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_OUT_EP); 358 .loc 1 662 36 view .LVU91 359 000a FFF7FEFF bl USBD_GetEpDesc 360 .LVL32: 361 000e 0546 mov r5, r0 362 .LVL33: 663:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 363 .loc 1 663 3 is_stmt 1 view .LVU92 663:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 364 .loc 1 663 36 is_stmt 0 view .LVU93 365 0010 0121 movs r1, #1 366 0012 3846 mov r0, r7 367 .LVL34: 663:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_EpDescTypeDef *pEpInDesc = USBD_GetEpDesc(USBD_CDC_CfgDesc, CDC_IN_EP); 368 .loc 1 663 36 view .LVU94 369 0014 FFF7FEFF bl USBD_GetEpDesc 370 .LVL35: 371 0018 0446 mov r4, r0 372 .LVL36: 664:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 373 .loc 1 664 3 is_stmt 1 view .LVU95 664:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 374 .loc 1 664 35 is_stmt 0 view .LVU96 375 001a 8121 movs r1, #129 376 001c 3846 mov r0, r7 377 .LVL37: 664:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 378 .loc 1 664 35 view .LVU97 379 001e FFF7FEFF bl USBD_GetEpDesc 380 .LVL38: 666:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 381 .loc 1 666 3 is_stmt 1 view .LVU98 666:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 382 .loc 1 666 6 is_stmt 0 view .LVU99 383 0022 0DB1 cbz r5, .L25 668:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 384 .loc 1 668 5 is_stmt 1 view .LVU100 668:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 385 .loc 1 668 27 is_stmt 0 view .LVU101 386 0024 1022 movs r2, #16 387 0026 AA71 strb r2, [r5, #6] 388 .L25: 671:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 389 .loc 1 671 3 is_stmt 1 view .LVU102 671:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 390 .loc 1 671 6 is_stmt 0 view .LVU103 391 0028 1CB1 cbz r4, .L26 673:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 392 .loc 1 673 5 is_stmt 1 view .LVU104 673:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 393 .loc 1 673 32 is_stmt 0 view .LVU105 394 002a 0022 movs r2, #0 395 002c 2271 strb r2, [r4, #4] 396 002e 0222 movs r2, #2 397 0030 6271 strb r2, [r4, #5] 398 .L26: 676:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { ARM GAS /tmp/ccE9OoCn.s page 22 399 .loc 1 676 3 is_stmt 1 view .LVU106 676:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 400 .loc 1 676 6 is_stmt 0 view .LVU107 401 0032 18B1 cbz r0, .L27 678:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 402 .loc 1 678 5 is_stmt 1 view .LVU108 678:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 403 .loc 1 678 31 is_stmt 0 view .LVU109 404 0034 0022 movs r2, #0 405 0036 0271 strb r2, [r0, #4] 406 0038 0222 movs r2, #2 407 003a 4271 strb r2, [r0, #5] 408 .L27: 681:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_CfgDesc; 409 .loc 1 681 3 is_stmt 1 view .LVU110 681:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return USBD_CDC_CfgDesc; 410 .loc 1 681 11 is_stmt 0 view .LVU111 411 003c 4323 movs r3, #67 412 003e 3380 strh r3, [r6] @ movhi 682:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 413 .loc 1 682 3 is_stmt 1 view .LVU112 683:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 414 .loc 1 683 1 is_stmt 0 view .LVU113 415 0040 0048 ldr r0, .L29 416 .LVL39: 683:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 417 .loc 1 683 1 view .LVU114 418 0042 F8BD pop {r3, r4, r5, r6, r7, pc} 419 .LVL40: 420 .L30: 683:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 421 .loc 1 683 1 view .LVU115 422 .align 2 423 .L29: 424 0044 00000000 .word USBD_CDC_CfgDesc 425 .cfi_endproc 426 .LFE250: 428 .section .text.USBD_CDC_DataOut,"ax",%progbits 429 .align 1 430 .syntax unified 431 .thumb 432 .thumb_func 434 USBD_CDC_DataOut: 435 .LVL41: 436 .LFB247: 578:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 437 .loc 1 578 1 is_stmt 1 view -0 438 .cfi_startproc 439 @ args = 0, pretend = 0, frame = 0 440 @ frame_needed = 0, uses_anonymous_args = 0 578:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 441 .loc 1 578 1 is_stmt 0 view .LVU117 442 0000 38B5 push {r3, r4, r5, lr} 443 .LCFI4: 444 .cfi_def_cfa_offset 16 445 .cfi_offset 3, -16 446 .cfi_offset 4, -12 ARM GAS /tmp/ccE9OoCn.s page 23 447 .cfi_offset 5, -8 448 .cfi_offset 14, -4 579:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 449 .loc 1 579 3 is_stmt 1 view .LVU118 579:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 450 .loc 1 579 86 is_stmt 0 view .LVU119 451 0002 D0F8D432 ldr r3, [r0, #724] 579:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 452 .loc 1 579 27 view .LVU120 453 0006 B033 adds r3, r3, #176 454 0008 50F82350 ldr r5, [r0, r3, lsl #2] 455 .LVL42: 581:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 456 .loc 1 581 3 is_stmt 1 view .LVU121 581:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 457 .loc 1 581 6 is_stmt 0 view .LVU122 458 000c 95B1 cbz r5, .L33 459 000e 0446 mov r4, r0 587:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 460 .loc 1 587 3 is_stmt 1 view .LVU123 587:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 461 .loc 1 587 20 is_stmt 0 view .LVU124 462 0010 FFF7FEFF bl USBD_LL_GetRxDataSize 463 .LVL43: 587:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 464 .loc 1 587 18 discriminator 1 view .LVU125 465 0014 C5F80C02 str r0, [r5, #524] 592:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 466 .loc 1 592 3 is_stmt 1 view .LVU126 592:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 467 .loc 1 592 47 is_stmt 0 view .LVU127 468 0018 D4F8D432 ldr r3, [r4, #724] 592:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 469 .loc 1 592 42 view .LVU128 470 001c B033 adds r3, r3, #176 471 001e 04EB8304 add r4, r4, r3, lsl #2 472 .LVL44: 592:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 473 .loc 1 592 42 view .LVU129 474 0022 6368 ldr r3, [r4, #4] 592:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 475 .loc 1 592 58 view .LVU130 476 0024 DB68 ldr r3, [r3, #12] 592:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 477 .loc 1 592 4 view .LVU131 478 0026 05F50371 add r1, r5, #524 479 002a D5F80402 ldr r0, [r5, #516] 480 002e 9847 blx r3 481 .LVL45: 594:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 482 .loc 1 594 3 is_stmt 1 view .LVU132 594:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 483 .loc 1 594 10 is_stmt 0 view .LVU133 484 0030 0020 movs r0, #0 485 .L32: 595:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 486 .loc 1 595 1 view .LVU134 ARM GAS /tmp/ccE9OoCn.s page 24 487 0032 38BD pop {r3, r4, r5, pc} 488 .LVL46: 489 .L33: 583:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 490 .loc 1 583 12 view .LVU135 491 0034 0320 movs r0, #3 492 .LVL47: 583:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 493 .loc 1 583 12 view .LVU136 494 0036 FCE7 b .L32 495 .cfi_endproc 496 .LFE247: 498 .section .text.USBD_CDC_DataIn,"ax",%progbits 499 .align 1 500 .syntax unified 501 .thumb 502 .thumb_func 504 USBD_CDC_DataIn: 505 .LVL48: 506 .LFB246: 537:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc; 507 .loc 1 537 1 is_stmt 1 view -0 508 .cfi_startproc 509 @ args = 0, pretend = 0, frame = 0 510 @ frame_needed = 0, uses_anonymous_args = 0 537:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc; 511 .loc 1 537 1 is_stmt 0 view .LVU138 512 0000 38B5 push {r3, r4, r5, lr} 513 .LCFI5: 514 .cfi_def_cfa_offset 16 515 .cfi_offset 3, -16 516 .cfi_offset 4, -12 517 .cfi_offset 5, -8 518 .cfi_offset 14, -4 538:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef *)pdev->pData; 519 .loc 1 538 3 is_stmt 1 view .LVU139 539:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 520 .loc 1 539 3 view .LVU140 539:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 521 .loc 1 539 22 is_stmt 0 view .LVU141 522 0002 D0F8C852 ldr r5, [r0, #712] 523 .LVL49: 541:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 524 .loc 1 541 3 is_stmt 1 view .LVU142 541:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 525 .loc 1 541 33 is_stmt 0 view .LVU143 526 0006 D0F8D432 ldr r3, [r0, #724] 541:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 527 .loc 1 541 28 view .LVU144 528 000a B033 adds r3, r3, #176 529 000c 50F82340 ldr r4, [r0, r3, lsl #2] 541:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 530 .loc 1 541 6 view .LVU145 531 0010 84B3 cbz r4, .L38 546:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 532 .loc 1 546 3 is_stmt 1 view .LVU146 533 .LVL50: ARM GAS /tmp/ccE9OoCn.s page 25 548:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((pdev->ep_in[epnum & 0xFU].total_length % hpcd->IN_ep[epnum & 0xFU].maxpacket) == 0U)) 534 .loc 1 548 3 view .LVU147 548:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((pdev->ep_in[epnum & 0xFU].total_length % hpcd->IN_ep[epnum & 0xFU].maxpacket) == 0U)) 535 .loc 1 548 26 is_stmt 0 view .LVU148 536 0012 01F00F03 and r3, r1, #15 548:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((pdev->ep_in[epnum & 0xFU].total_length % hpcd->IN_ep[epnum & 0xFU].maxpacket) == 0U)) 537 .loc 1 548 33 view .LVU149 538 0016 03EB8302 add r2, r3, r3, lsl #2 539 001a 00EB8202 add r2, r0, r2, lsl #2 540 001e 5269 ldr r2, [r2, #20] 548:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((pdev->ep_in[epnum & 0xFU].total_length % hpcd->IN_ep[epnum & 0xFU].maxpacket) == 0U)) 541 .loc 1 548 6 view .LVU150 542 0020 4AB1 cbz r2, .L37 549:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 543 .loc 1 549 75 view .LVU151 544 0022 03EBC30C add ip, r3, r3, lsl #3 545 0026 05EB8C05 add r5, r5, ip, lsl #2 546 .LVL51: 549:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 547 .loc 1 549 75 view .LVU152 548 002a ED69 ldr r5, [r5, #28] 549:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 549 .loc 1 549 48 view .LVU153 550 002c B2FBF5FC udiv ip, r2, r5 551 0030 05FB1C22 mls r2, r5, ip, r2 548:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ((pdev->ep_in[epnum & 0xFU].total_length % hpcd->IN_ep[epnum & 0xFU].maxpacket) == 0U)) 552 .loc 1 548 53 discriminator 1 view .LVU154 553 0034 92B1 cbz r2, .L41 554 .L37: 559:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 555 .loc 1 559 5 is_stmt 1 view .LVU155 559:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 556 .loc 1 559 19 is_stmt 0 view .LVU156 557 0036 0023 movs r3, #0 558 0038 C4F81432 str r3, [r4, #532] 559 .LVL52: 561:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 560 .loc 1 561 5 is_stmt 1 view .LVU157 561:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 561 .loc 1 561 53 is_stmt 0 view .LVU158 562 003c D0F8D432 ldr r3, [r0, #724] 561:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 563 .loc 1 561 48 view .LVU159 564 0040 B033 adds r3, r3, #176 565 0042 00EB8300 add r0, r0, r3, lsl #2 566 .LVL53: 561:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 567 .loc 1 561 48 view .LVU160 568 0046 4368 ldr r3, [r0, #4] 561:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 569 .loc 1 561 64 view .LVU161 570 0048 1B69 ldr r3, [r3, #16] 561:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 571 .loc 1 561 8 view .LVU162 572 004a ABB1 cbz r3, .L39 563:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 573 .loc 1 563 7 is_stmt 1 view .LVU163 ARM GAS /tmp/ccE9OoCn.s page 26 563:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 574 .loc 1 563 8 is_stmt 0 view .LVU164 575 004c 0A46 mov r2, r1 576 004e 04F50471 add r1, r4, #528 577 .LVL54: 563:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 578 .loc 1 563 8 view .LVU165 579 0052 D4F80802 ldr r0, [r4, #520] 580 0056 9847 blx r3 581 .LVL55: 567:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 582 .loc 1 567 10 view .LVU166 583 0058 0020 movs r0, #0 584 .LVL56: 585 .L36: 568:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 586 .loc 1 568 1 view .LVU167 587 005a 38BD pop {r3, r4, r5, pc} 588 .LVL57: 589 .L41: 552:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 590 .loc 1 552 5 is_stmt 1 view .LVU168 552:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 591 .loc 1 552 44 is_stmt 0 view .LVU169 592 005c 03EB8303 add r3, r3, r3, lsl #2 593 0060 00EB8303 add r3, r0, r3, lsl #2 594 0064 0024 movs r4, #0 595 .LVL58: 552:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 596 .loc 1 552 44 view .LVU170 597 0066 5C61 str r4, [r3, #20] 598 .LVL59: 555:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 599 .loc 1 555 5 is_stmt 1 view .LVU171 555:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 600 .loc 1 555 11 is_stmt 0 view .LVU172 601 0068 2346 mov r3, r4 602 006a 2246 mov r2, r4 603 006c FFF7FEFF bl USBD_LL_Transmit 604 .LVL60: 567:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 605 .loc 1 567 10 view .LVU173 606 0070 2046 mov r0, r4 555:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 607 .loc 1 555 5 view .LVU174 608 0072 F2E7 b .L36 609 .LVL61: 610 .L38: 543:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 611 .loc 1 543 12 view .LVU175 612 0074 0320 movs r0, #3 613 .LVL62: 543:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 614 .loc 1 543 12 view .LVU176 615 0076 F0E7 b .L36 616 .LVL63: 617 .L39: ARM GAS /tmp/ccE9OoCn.s page 27 567:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 618 .loc 1 567 10 view .LVU177 619 0078 0020 movs r0, #0 620 007a EEE7 b .L36 621 .cfi_endproc 622 .LFE246: 624 .section .text.USBD_CDC_Setup,"ax",%progbits 625 .align 1 626 .syntax unified 627 .thumb 628 .thumb_func 630 USBD_CDC_Setup: 631 .LVL64: 632 .LFB245: 434:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 633 .loc 1 434 1 is_stmt 1 view -0 634 .cfi_startproc 635 @ args = 0, pretend = 0, frame = 8 636 @ frame_needed = 0, uses_anonymous_args = 0 434:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 637 .loc 1 434 1 is_stmt 0 view .LVU179 638 0000 F0B5 push {r4, r5, r6, r7, lr} 639 .LCFI6: 640 .cfi_def_cfa_offset 20 641 .cfi_offset 4, -20 642 .cfi_offset 5, -16 643 .cfi_offset 6, -12 644 .cfi_offset 7, -8 645 .cfi_offset 14, -4 646 0002 83B0 sub sp, sp, #12 647 .LCFI7: 648 .cfi_def_cfa_offset 32 435:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint16_t len; 649 .loc 1 435 3 is_stmt 1 view .LVU180 435:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint16_t len; 650 .loc 1 435 86 is_stmt 0 view .LVU181 651 0004 D0F8D432 ldr r3, [r0, #724] 435:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint16_t len; 652 .loc 1 435 27 view .LVU182 653 0008 03F1B002 add r2, r3, #176 654 000c 50F82270 ldr r7, [r0, r2, lsl #2] 655 .LVL65: 436:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t ifalt = 0U; 656 .loc 1 436 3 is_stmt 1 view .LVU183 437:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint16_t status_info = 0U; 657 .loc 1 437 3 view .LVU184 437:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint16_t status_info = 0U; 658 .loc 1 437 11 is_stmt 0 view .LVU185 659 0010 0022 movs r2, #0 660 0012 8DF80720 strb r2, [sp, #7] 438:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_StatusTypeDef ret = USBD_OK; 661 .loc 1 438 3 is_stmt 1 view .LVU186 438:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_StatusTypeDef ret = USBD_OK; 662 .loc 1 438 12 is_stmt 0 view .LVU187 663 0016 ADF80420 strh r2, [sp, #4] @ movhi 439:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 664 .loc 1 439 3 is_stmt 1 view .LVU188 ARM GAS /tmp/ccE9OoCn.s page 28 665 .LVL66: 441:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 666 .loc 1 441 3 view .LVU189 441:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 667 .loc 1 441 6 is_stmt 0 view .LVU190 668 001a 002F cmp r7, #0 669 001c 7BD0 beq .L56 670 001e 0446 mov r4, r0 671 0020 0D46 mov r5, r1 446:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 672 .loc 1 446 3 is_stmt 1 view .LVU191 446:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 673 .loc 1 446 14 is_stmt 0 view .LVU192 674 0022 0978 ldrb r1, [r1] @ zero_extendqisi2 675 .LVL67: 446:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 676 .loc 1 446 3 view .LVU193 677 0024 11F06006 ands r6, r1, #96 678 0028 34D0 beq .L44 679 002a 202E cmp r6, #32 680 002c 6CD1 bne .L45 449:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 681 .loc 1 449 7 is_stmt 1 view .LVU194 449:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 682 .loc 1 449 14 is_stmt 0 view .LVU195 683 002e EA88 ldrh r2, [r5, #6] 449:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 684 .loc 1 449 10 view .LVU196 685 0030 2AB3 cbz r2, .L46 451:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 686 .loc 1 451 9 is_stmt 1 view .LVU197 451:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 687 .loc 1 451 12 is_stmt 0 view .LVU198 688 0032 11F0800F tst r1, #128 689 0036 07D1 bne .L60 462:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->CmdLength = (uint8_t)MIN(req->wLength, USB_MAX_EP0_SIZE); 690 .loc 1 462 11 is_stmt 1 view .LVU199 462:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->CmdLength = (uint8_t)MIN(req->wLength, USB_MAX_EP0_SIZE); 691 .loc 1 462 32 is_stmt 0 view .LVU200 692 0038 6B78 ldrb r3, [r5, #1] @ zero_extendqisi2 462:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->CmdLength = (uint8_t)MIN(req->wLength, USB_MAX_EP0_SIZE); 693 .loc 1 462 27 view .LVU201 694 003a 87F80032 strb r3, [r7, #512] 463:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 695 .loc 1 463 11 is_stmt 1 view .LVU202 463:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 696 .loc 1 463 38 is_stmt 0 view .LVU203 697 003e EA88 ldrh r2, [r5, #6] 463:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 698 .loc 1 463 29 view .LVU204 699 0040 3F2A cmp r2, #63 700 0042 13D8 bhi .L57 463:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 701 .loc 1 463 29 discriminator 1 view .LVU205 702 0044 D2B2 uxtb r2, r2 703 0046 12E0 b .L48 704 .L60: ARM GAS /tmp/ccE9OoCn.s page 29 453:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)hcdc->data, 705 .loc 1 453 11 is_stmt 1 view .LVU206 453:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)hcdc->data, 706 .loc 1 453 50 is_stmt 0 view .LVU207 707 0048 B033 adds r3, r3, #176 708 004a 00EB8303 add r3, r0, r3, lsl #2 709 004e 5B68 ldr r3, [r3, #4] 453:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)hcdc->data, 710 .loc 1 453 66 view .LVU208 711 0050 9B68 ldr r3, [r3, #8] 453:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)hcdc->data, 712 .loc 1 453 12 view .LVU209 713 0052 3946 mov r1, r7 714 0054 6878 ldrb r0, [r5, #1] @ zero_extendqisi2 715 .LVL68: 453:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)hcdc->data, 716 .loc 1 453 12 view .LVU210 717 0056 9847 blx r3 718 .LVL69: 457:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_CtlSendData(pdev, (uint8_t *)hcdc->data, len); 719 .loc 1 457 11 is_stmt 1 view .LVU211 457:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_CtlSendData(pdev, (uint8_t *)hcdc->data, len); 720 .loc 1 457 17 is_stmt 0 view .LVU212 721 0058 EA88 ldrh r2, [r5, #6] 722 .LVL70: 458:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 723 .loc 1 458 11 is_stmt 1 view .LVU213 458:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 724 .loc 1 458 17 is_stmt 0 view .LVU214 725 005a 072A cmp r2, #7 726 005c 28BF it cs 727 005e 0722 movcs r2, #7 728 .LVL71: 458:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 729 .loc 1 458 17 view .LVU215 730 0060 3946 mov r1, r7 731 0062 2046 mov r0, r4 732 0064 FFF7FEFF bl USBD_CtlSendData 733 .LVL72: 439:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 734 .loc 1 439 22 view .LVU216 735 0068 0026 movs r6, #0 736 006a 51E0 b .L43 737 .LVL73: 738 .L57: 463:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 739 .loc 1 463 29 discriminator 2 view .LVU217 740 006c 4022 movs r2, #64 741 .L48: 463:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 742 .loc 1 463 27 discriminator 4 view .LVU218 743 006e 87F80122 strb r2, [r7, #513] 465:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 744 .loc 1 465 11 is_stmt 1 view .LVU219 465:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 745 .loc 1 465 17 is_stmt 0 view .LVU220 746 0072 3946 mov r1, r7 ARM GAS /tmp/ccE9OoCn.s page 30 747 0074 2046 mov r0, r4 748 .LVL74: 465:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 749 .loc 1 465 17 view .LVU221 750 0076 FFF7FEFF bl USBD_CtlPrepareRx 751 .LVL75: 439:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 752 .loc 1 439 22 view .LVU222 753 007a 0026 movs r6, #0 754 007c 48E0 b .L43 755 .LVL76: 756 .L46: 470:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)req, 0U); 757 .loc 1 470 9 is_stmt 1 view .LVU223 470:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)req, 0U); 758 .loc 1 470 48 is_stmt 0 view .LVU224 759 007e B033 adds r3, r3, #176 760 0080 00EB8303 add r3, r0, r3, lsl #2 761 0084 5B68 ldr r3, [r3, #4] 470:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)req, 0U); 762 .loc 1 470 64 view .LVU225 763 0086 9B68 ldr r3, [r3, #8] 470:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)req, 0U); 764 .loc 1 470 10 view .LVU226 765 0088 0022 movs r2, #0 766 008a 2946 mov r1, r5 767 008c 6878 ldrb r0, [r5, #1] @ zero_extendqisi2 768 .LVL77: 470:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (uint8_t *)req, 0U); 769 .loc 1 470 10 view .LVU227 770 008e 9847 blx r3 771 .LVL78: 439:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 772 .loc 1 439 22 view .LVU228 773 0090 0026 movs r6, #0 774 0092 3DE0 b .L43 775 .LVL79: 776 .L44: 476:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 777 .loc 1 476 7 is_stmt 1 view .LVU229 476:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 778 .loc 1 476 18 is_stmt 0 view .LVU230 779 0094 6F78 ldrb r7, [r5, #1] @ zero_extendqisi2 780 .LVL80: 476:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 781 .loc 1 476 18 view .LVU231 782 0096 0B2F cmp r7, #11 783 0098 31D8 bhi .L49 784 009a DFE807F0 tbb [pc, r7] 785 .LVL81: 786 .L51: 787 009e 06 .byte (.L53-.L51)/2 788 009f 39 .byte (.L43-.L51)/2 789 00a0 30 .byte (.L49-.L51)/2 790 00a1 30 .byte (.L49-.L51)/2 791 00a2 30 .byte (.L49-.L51)/2 792 00a3 30 .byte (.L49-.L51)/2 ARM GAS /tmp/ccE9OoCn.s page 31 793 00a4 30 .byte (.L49-.L51)/2 794 00a5 30 .byte (.L49-.L51)/2 795 00a6 30 .byte (.L49-.L51)/2 796 00a7 30 .byte (.L49-.L51)/2 797 00a8 16 .byte (.L52-.L51)/2 798 00a9 26 .byte (.L50-.L51)/2 799 .p2align 1 800 .L53: 479:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 801 .loc 1 479 11 is_stmt 1 view .LVU232 479:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 802 .loc 1 479 19 is_stmt 0 view .LVU233 803 00aa 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 804 00ae DBB2 uxtb r3, r3 479:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 805 .loc 1 479 14 view .LVU234 806 00b0 032B cmp r3, #3 807 00b2 04D0 beq .L61 485:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 808 .loc 1 485 13 is_stmt 1 view .LVU235 809 00b4 2946 mov r1, r5 810 00b6 FFF7FEFF bl USBD_CtlError 811 .LVL82: 486:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 812 .loc 1 486 13 view .LVU236 486:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 813 .loc 1 486 17 is_stmt 0 view .LVU237 814 00ba 0326 movs r6, #3 815 00bc 28E0 b .L43 816 .LVL83: 817 .L61: 481:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 818 .loc 1 481 13 is_stmt 1 view .LVU238 481:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 819 .loc 1 481 19 is_stmt 0 view .LVU239 820 00be 0222 movs r2, #2 821 00c0 01A9 add r1, sp, #4 822 00c2 FFF7FEFF bl USBD_CtlSendData 823 .LVL84: 439:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 824 .loc 1 439 22 view .LVU240 825 00c6 3E46 mov r6, r7 826 00c8 22E0 b .L43 827 .LVL85: 828 .L52: 491:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 829 .loc 1 491 11 is_stmt 1 view .LVU241 491:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 830 .loc 1 491 19 is_stmt 0 view .LVU242 831 00ca 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 832 00ce DBB2 uxtb r3, r3 491:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 833 .loc 1 491 14 view .LVU243 834 00d0 032B cmp r3, #3 835 00d2 04D0 beq .L62 497:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 836 .loc 1 497 13 is_stmt 1 view .LVU244 ARM GAS /tmp/ccE9OoCn.s page 32 837 00d4 2946 mov r1, r5 838 00d6 FFF7FEFF bl USBD_CtlError 839 .LVL86: 498:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 840 .loc 1 498 13 view .LVU245 498:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 841 .loc 1 498 17 is_stmt 0 view .LVU246 842 00da 0326 movs r6, #3 843 00dc 18E0 b .L43 844 .LVL87: 845 .L62: 493:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 846 .loc 1 493 13 is_stmt 1 view .LVU247 493:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 847 .loc 1 493 19 is_stmt 0 view .LVU248 848 00de 0122 movs r2, #1 849 00e0 0DF10701 add r1, sp, #7 850 00e4 FFF7FEFF bl USBD_CtlSendData 851 .LVL88: 493:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 852 .loc 1 493 19 view .LVU249 853 00e8 12E0 b .L43 854 .LVL89: 855 .L50: 503:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 856 .loc 1 503 11 is_stmt 1 view .LVU250 503:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 857 .loc 1 503 19 is_stmt 0 view .LVU251 858 00ea 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2 859 00ee DBB2 uxtb r3, r3 503:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 860 .loc 1 503 14 view .LVU252 861 00f0 032B cmp r3, #3 862 00f2 0DD0 beq .L43 505:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 863 .loc 1 505 13 is_stmt 1 view .LVU253 864 00f4 2946 mov r1, r5 865 00f6 FFF7FEFF bl USBD_CtlError 866 .LVL90: 506:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 867 .loc 1 506 13 view .LVU254 506:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 868 .loc 1 506 17 is_stmt 0 view .LVU255 869 00fa 0326 movs r6, #3 870 00fc 08E0 b .L43 871 .LVL91: 872 .L49: 514:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 873 .loc 1 514 11 is_stmt 1 view .LVU256 874 00fe 2946 mov r1, r5 875 0100 FFF7FEFF bl USBD_CtlError 876 .LVL92: 515:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 877 .loc 1 515 11 view .LVU257 516:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 878 .loc 1 516 11 view .LVU258 515:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; ARM GAS /tmp/ccE9OoCn.s page 33 879 .loc 1 515 15 is_stmt 0 view .LVU259 880 0104 0326 movs r6, #3 516:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 881 .loc 1 516 11 view .LVU260 882 0106 03E0 b .L43 883 .LVL93: 884 .L45: 521:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_FAIL; 885 .loc 1 521 7 is_stmt 1 view .LVU261 886 0108 2946 mov r1, r5 887 010a FFF7FEFF bl USBD_CtlError 888 .LVL94: 522:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 889 .loc 1 522 7 view .LVU262 523:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 890 .loc 1 523 7 view .LVU263 522:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** break; 891 .loc 1 522 11 is_stmt 0 view .LVU264 892 010e 0326 movs r6, #3 893 .LVL95: 894 .L43: 527:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 895 .loc 1 527 1 view .LVU265 896 0110 3046 mov r0, r6 897 0112 03B0 add sp, sp, #12 898 .LCFI8: 899 .cfi_remember_state 900 .cfi_def_cfa_offset 20 901 @ sp needed 902 0114 F0BD pop {r4, r5, r6, r7, pc} 903 .LVL96: 904 .L56: 905 .LCFI9: 906 .cfi_restore_state 443:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 907 .loc 1 443 12 view .LVU266 908 0116 0326 movs r6, #3 909 0118 FAE7 b .L43 910 .cfi_endproc 911 .LFE245: 913 .section .text.USBD_CDC_DeInit,"ax",%progbits 914 .align 1 915 .syntax unified 916 .thumb 917 .thumb_func 919 USBD_CDC_DeInit: 920 .LVL97: 921 .LFB244: 389:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** UNUSED(cfgidx); 922 .loc 1 389 1 is_stmt 1 view -0 923 .cfi_startproc 924 @ args = 0, pretend = 0, frame = 0 925 @ frame_needed = 0, uses_anonymous_args = 0 389:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** UNUSED(cfgidx); 926 .loc 1 389 1 is_stmt 0 view .LVU268 927 0000 38B5 push {r3, r4, r5, lr} 928 .LCFI10: ARM GAS /tmp/ccE9OoCn.s page 34 929 .cfi_def_cfa_offset 16 930 .cfi_offset 3, -16 931 .cfi_offset 4, -12 932 .cfi_offset 5, -8 933 .cfi_offset 14, -4 934 0002 0446 mov r4, r0 390:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 935 .loc 1 390 3 is_stmt 1 view .LVU269 401:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCInEpAdd & 0xFU].is_used = 0U; 936 .loc 1 401 3 view .LVU270 401:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCInEpAdd & 0xFU].is_used = 0U; 937 .loc 1 401 9 is_stmt 0 view .LVU271 938 0004 8121 movs r1, #129 939 .LVL98: 401:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCInEpAdd & 0xFU].is_used = 0U; 940 .loc 1 401 9 view .LVU272 941 0006 FFF7FEFF bl USBD_LL_CloseEP 942 .LVL99: 402:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 943 .loc 1 402 3 is_stmt 1 view .LVU273 402:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 944 .loc 1 402 42 is_stmt 0 view .LVU274 945 000a 0025 movs r5, #0 946 000c 84F83750 strb r5, [r4, #55] 405:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_out[CDCOutEpAdd & 0xFU].is_used = 0U; 947 .loc 1 405 3 is_stmt 1 view .LVU275 405:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_out[CDCOutEpAdd & 0xFU].is_used = 0U; 948 .loc 1 405 9 is_stmt 0 view .LVU276 949 0010 0121 movs r1, #1 950 0012 2046 mov r0, r4 951 0014 FFF7FEFF bl USBD_LL_CloseEP 952 .LVL100: 406:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 953 .loc 1 406 3 is_stmt 1 view .LVU277 406:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 954 .loc 1 406 44 is_stmt 0 view .LVU278 955 0018 84F87751 strb r5, [r4, #375] 409:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCCmdEpAdd & 0xFU].is_used = 0U; 956 .loc 1 409 3 is_stmt 1 view .LVU279 409:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCCmdEpAdd & 0xFU].is_used = 0U; 957 .loc 1 409 9 is_stmt 0 view .LVU280 958 001c 8221 movs r1, #130 959 001e 2046 mov r0, r4 960 0020 FFF7FEFF bl USBD_LL_CloseEP 961 .LVL101: 410:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCCmdEpAdd & 0xFU].bInterval = 0U; 962 .loc 1 410 3 is_stmt 1 view .LVU281 410:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCCmdEpAdd & 0xFU].bInterval = 0U; 963 .loc 1 410 43 is_stmt 0 view .LVU282 964 0024 84F84B50 strb r5, [r4, #75] 411:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 965 .loc 1 411 3 is_stmt 1 view .LVU283 411:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 966 .loc 1 411 45 is_stmt 0 view .LVU284 967 0028 6564 str r5, [r4, #68] 414:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 968 .loc 1 414 3 is_stmt 1 view .LVU285 ARM GAS /tmp/ccE9OoCn.s page 35 414:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 969 .loc 1 414 33 is_stmt 0 view .LVU286 970 002a D4F8D432 ldr r3, [r4, #724] 414:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 971 .loc 1 414 28 view .LVU287 972 002e 03F1B002 add r2, r3, #176 973 0032 54F82220 ldr r2, [r4, r2, lsl #2] 414:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 974 .loc 1 414 6 view .LVU288 975 0036 9AB1 cbz r2, .L64 416:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_free(pdev->pClassDataCmsit[pdev->classId]); 976 .loc 1 416 5 is_stmt 1 view .LVU289 416:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_free(pdev->pClassDataCmsit[pdev->classId]); 977 .loc 1 416 44 is_stmt 0 view .LVU290 978 0038 B033 adds r3, r3, #176 979 003a 04EB8303 add r3, r4, r3, lsl #2 980 003e 5B68 ldr r3, [r3, #4] 416:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_free(pdev->pClassDataCmsit[pdev->classId]); 981 .loc 1 416 60 view .LVU291 982 0040 5B68 ldr r3, [r3, #4] 416:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_free(pdev->pClassDataCmsit[pdev->classId]); 983 .loc 1 416 6 view .LVU292 984 0042 9847 blx r3 985 .LVL102: 417:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassDataCmsit[pdev->classId] = NULL; 986 .loc 1 417 5 is_stmt 1 view .LVU293 417:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassDataCmsit[pdev->classId] = NULL; 987 .loc 1 417 47 is_stmt 0 view .LVU294 988 0044 D4F8D432 ldr r3, [r4, #724] 417:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassDataCmsit[pdev->classId] = NULL; 989 .loc 1 417 5 view .LVU295 990 0048 B033 adds r3, r3, #176 991 004a 54F82300 ldr r0, [r4, r3, lsl #2] 992 004e FFF7FEFF bl USBD_static_free 993 .LVL103: 418:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassData = NULL; 994 .loc 1 418 5 is_stmt 1 view .LVU296 418:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassData = NULL; 995 .loc 1 418 31 is_stmt 0 view .LVU297 996 0052 D4F8D432 ldr r3, [r4, #724] 418:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassData = NULL; 997 .loc 1 418 42 view .LVU298 998 0056 B033 adds r3, r3, #176 999 0058 44F82350 str r5, [r4, r3, lsl #2] 419:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1000 .loc 1 419 5 is_stmt 1 view .LVU299 419:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1001 .loc 1 419 22 is_stmt 0 view .LVU300 1002 005c C4F8BC52 str r5, [r4, #700] 1003 .L64: 422:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1004 .loc 1 422 3 is_stmt 1 view .LVU301 423:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1005 .loc 1 423 1 is_stmt 0 view .LVU302 1006 0060 0020 movs r0, #0 1007 0062 38BD pop {r3, r4, r5, pc} 423:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ARM GAS /tmp/ccE9OoCn.s page 36 1008 .loc 1 423 1 view .LVU303 1009 .cfi_endproc 1010 .LFE244: 1012 .section .text.USBD_CDC_Init,"ax",%progbits 1013 .align 1 1014 .syntax unified 1015 .thumb 1016 .thumb_func 1018 USBD_CDC_Init: 1019 .LVL104: 1020 .LFB243: 288:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** UNUSED(cfgidx); 1021 .loc 1 288 1 is_stmt 1 view -0 1022 .cfi_startproc 1023 @ args = 0, pretend = 0, frame = 0 1024 @ frame_needed = 0, uses_anonymous_args = 0 288:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** UNUSED(cfgidx); 1025 .loc 1 288 1 is_stmt 0 view .LVU305 1026 0000 70B5 push {r4, r5, r6, lr} 1027 .LCFI11: 1028 .cfi_def_cfa_offset 16 1029 .cfi_offset 4, -16 1030 .cfi_offset 5, -12 1031 .cfi_offset 6, -8 1032 .cfi_offset 14, -4 1033 0002 0446 mov r4, r0 289:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc; 1034 .loc 1 289 3 is_stmt 1 view .LVU306 290:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1035 .loc 1 290 3 view .LVU307 292:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1036 .loc 1 292 3 view .LVU308 292:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1037 .loc 1 292 36 is_stmt 0 view .LVU309 1038 0004 4FF40770 mov r0, #540 1039 .LVL105: 292:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1040 .loc 1 292 36 view .LVU310 1041 0008 FFF7FEFF bl USBD_static_malloc 1042 .LVL106: 294:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1043 .loc 1 294 3 is_stmt 1 view .LVU311 294:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1044 .loc 1 294 6 is_stmt 0 view .LVU312 1045 000c 0028 cmp r0, #0 1046 000e 49D0 beq .L74 1047 0010 0546 mov r5, r0 300:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1048 .loc 1 300 3 is_stmt 1 view .LVU313 300:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1049 .loc 1 300 9 is_stmt 0 view .LVU314 1050 0012 4FF40772 mov r2, #540 1051 0016 0021 movs r1, #0 1052 0018 FFF7FEFF bl memset 1053 .LVL107: 302:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassData = pdev->pClassDataCmsit[pdev->classId]; 1054 .loc 1 302 3 is_stmt 1 view .LVU315 ARM GAS /tmp/ccE9OoCn.s page 37 302:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassData = pdev->pClassDataCmsit[pdev->classId]; 1055 .loc 1 302 29 is_stmt 0 view .LVU316 1056 001c D4F8D432 ldr r3, [r4, #724] 302:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pClassData = pdev->pClassDataCmsit[pdev->classId]; 1057 .loc 1 302 40 view .LVU317 1058 0020 B033 adds r3, r3, #176 1059 0022 44F82350 str r5, [r4, r3, lsl #2] 303:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1060 .loc 1 303 3 is_stmt 1 view .LVU318 303:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1061 .loc 1 303 20 is_stmt 0 view .LVU319 1062 0026 C4F8BC52 str r5, [r4, #700] 312:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1063 .loc 1 312 3 is_stmt 1 view .LVU320 312:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1064 .loc 1 312 11 is_stmt 0 view .LVU321 1065 002a 237C ldrb r3, [r4, #16] @ zero_extendqisi2 312:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1066 .loc 1 312 6 view .LVU322 1067 002c 002B cmp r3, #0 1068 002e 41D1 bne .L69 315:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_IN_PACKET_SIZE); 1069 .loc 1 315 5 is_stmt 1 view .LVU323 315:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_IN_PACKET_SIZE); 1070 .loc 1 315 11 is_stmt 0 view .LVU324 1071 0030 4FF40073 mov r3, #512 1072 0034 0222 movs r2, #2 1073 0036 8121 movs r1, #129 1074 0038 2046 mov r0, r4 1075 003a FFF7FEFF bl USBD_LL_OpenEP 1076 .LVL108: 318:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1077 .loc 1 318 5 is_stmt 1 view .LVU325 318:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1078 .loc 1 318 44 is_stmt 0 view .LVU326 1079 003e 0126 movs r6, #1 1080 0040 84F83760 strb r6, [r4, #55] 321:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 1081 .loc 1 321 5 is_stmt 1 view .LVU327 321:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 1082 .loc 1 321 11 is_stmt 0 view .LVU328 1083 0044 4FF40073 mov r3, #512 1084 0048 0222 movs r2, #2 1085 004a 3146 mov r1, r6 1086 004c 2046 mov r0, r4 1087 004e FFF7FEFF bl USBD_LL_OpenEP 1088 .LVL109: 324:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1089 .loc 1 324 5 is_stmt 1 view .LVU329 324:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1090 .loc 1 324 46 is_stmt 0 view .LVU330 1091 0052 84F87761 strb r6, [r4, #375] 327:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1092 .loc 1 327 5 is_stmt 1 view .LVU331 327:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1093 .loc 1 327 47 is_stmt 0 view .LVU332 1094 0056 1023 movs r3, #16 ARM GAS /tmp/ccE9OoCn.s page 38 1095 0058 6364 str r3, [r4, #68] 1096 .L70: 348:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCCmdEpAdd & 0xFU].is_used = 1U; 1097 .loc 1 348 3 is_stmt 1 view .LVU333 348:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCCmdEpAdd & 0xFU].is_used = 1U; 1098 .loc 1 348 9 is_stmt 0 view .LVU334 1099 005a 0823 movs r3, #8 1100 005c 0322 movs r2, #3 1101 005e 8221 movs r1, #130 1102 0060 2046 mov r0, r4 1103 0062 FFF7FEFF bl USBD_LL_OpenEP 1104 .LVL110: 349:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1105 .loc 1 349 3 is_stmt 1 view .LVU335 349:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1106 .loc 1 349 43 is_stmt 0 view .LVU336 1107 0066 0123 movs r3, #1 1108 0068 84F84B30 strb r3, [r4, #75] 351:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1109 .loc 1 351 3 is_stmt 1 view .LVU337 351:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1110 .loc 1 351 18 is_stmt 0 view .LVU338 1111 006c 0026 movs r6, #0 1112 006e C5F80462 str r6, [r5, #516] 354:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1113 .loc 1 354 3 is_stmt 1 view .LVU339 354:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1114 .loc 1 354 47 is_stmt 0 view .LVU340 1115 0072 D4F8D432 ldr r3, [r4, #724] 354:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1116 .loc 1 354 42 view .LVU341 1117 0076 B033 adds r3, r3, #176 1118 0078 04EB8303 add r3, r4, r3, lsl #2 1119 007c 5B68 ldr r3, [r3, #4] 354:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1120 .loc 1 354 58 view .LVU342 1121 007e 1B68 ldr r3, [r3] 354:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1122 .loc 1 354 4 view .LVU343 1123 0080 9847 blx r3 1124 .LVL111: 357:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxState = 0U; 1125 .loc 1 357 3 is_stmt 1 view .LVU344 357:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxState = 0U; 1126 .loc 1 357 17 is_stmt 0 view .LVU345 1127 0082 C5F81462 str r6, [r5, #532] 358:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1128 .loc 1 358 3 is_stmt 1 view .LVU346 358:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1129 .loc 1 358 17 is_stmt 0 view .LVU347 1130 0086 C5F81862 str r6, [r5, #536] 360:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1131 .loc 1 360 3 is_stmt 1 view .LVU348 360:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1132 .loc 1 360 11 is_stmt 0 view .LVU349 1133 008a D5F80422 ldr r2, [r5, #516] 360:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { ARM GAS /tmp/ccE9OoCn.s page 39 1134 .loc 1 360 6 view .LVU350 1135 008e 62B3 cbz r2, .L72 365:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1136 .loc 1 365 3 is_stmt 1 view .LVU351 365:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1137 .loc 1 365 11 is_stmt 0 view .LVU352 1138 0090 257C ldrb r5, [r4, #16] @ zero_extendqisi2 1139 .LVL112: 365:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1140 .loc 1 365 6 view .LVU353 1141 0092 1DBB cbnz r5, .L71 368:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 1142 .loc 1 368 5 is_stmt 1 view .LVU354 368:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 1143 .loc 1 368 11 is_stmt 0 view .LVU355 1144 0094 4FF40073 mov r3, #512 1145 0098 0121 movs r1, #1 1146 009a 2046 mov r0, r4 1147 009c FFF7FEFF bl USBD_LL_PrepareReceive 1148 .LVL113: 1149 .L68: 379:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1150 .loc 1 379 1 view .LVU356 1151 00a0 2846 mov r0, r5 1152 00a2 70BD pop {r4, r5, r6, pc} 1153 .LVL114: 1154 .L74: 296:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_EMEM; 1155 .loc 1 296 5 is_stmt 1 view .LVU357 296:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_EMEM; 1156 .loc 1 296 31 is_stmt 0 view .LVU358 1157 00a4 D4F8D432 ldr r3, [r4, #724] 296:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_EMEM; 1158 .loc 1 296 42 view .LVU359 1159 00a8 B033 adds r3, r3, #176 1160 00aa 0022 movs r2, #0 1161 00ac 44F82320 str r2, [r4, r3, lsl #2] 297:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1162 .loc 1 297 5 is_stmt 1 view .LVU360 297:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1163 .loc 1 297 12 is_stmt 0 view .LVU361 1164 00b0 0225 movs r5, #2 1165 00b2 F5E7 b .L68 1166 .LVL115: 1167 .L69: 332:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_IN_PACKET_SIZE); 1168 .loc 1 332 5 is_stmt 1 view .LVU362 332:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_IN_PACKET_SIZE); 1169 .loc 1 332 11 is_stmt 0 view .LVU363 1170 00b4 4023 movs r3, #64 1171 00b6 0222 movs r2, #2 1172 00b8 8121 movs r1, #129 1173 00ba 2046 mov r0, r4 1174 00bc FFF7FEFF bl USBD_LL_OpenEP 1175 .LVL116: 335:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1176 .loc 1 335 5 is_stmt 1 view .LVU364 ARM GAS /tmp/ccE9OoCn.s page 40 335:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1177 .loc 1 335 44 is_stmt 0 view .LVU365 1178 00c0 0126 movs r6, #1 1179 00c2 84F83760 strb r6, [r4, #55] 338:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 1180 .loc 1 338 5 is_stmt 1 view .LVU366 338:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 1181 .loc 1 338 11 is_stmt 0 view .LVU367 1182 00c6 4023 movs r3, #64 1183 00c8 0222 movs r2, #2 1184 00ca 3146 mov r1, r6 1185 00cc 2046 mov r0, r4 1186 00ce FFF7FEFF bl USBD_LL_OpenEP 1187 .LVL117: 341:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1188 .loc 1 341 5 is_stmt 1 view .LVU368 341:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1189 .loc 1 341 46 is_stmt 0 view .LVU369 1190 00d2 84F87761 strb r6, [r4, #375] 344:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1191 .loc 1 344 5 is_stmt 1 view .LVU370 344:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1192 .loc 1 344 47 is_stmt 0 view .LVU371 1193 00d6 1023 movs r3, #16 1194 00d8 6364 str r3, [r4, #68] 1195 00da BEE7 b .L70 1196 .LVL118: 1197 .L71: 374:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 1198 .loc 1 374 5 is_stmt 1 view .LVU372 374:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 1199 .loc 1 374 11 is_stmt 0 view .LVU373 1200 00dc 4023 movs r3, #64 1201 00de 0121 movs r1, #1 1202 00e0 2046 mov r0, r4 1203 00e2 FFF7FEFF bl USBD_LL_PrepareReceive 1204 .LVL119: 378:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1205 .loc 1 378 10 view .LVU374 1206 00e6 0025 movs r5, #0 1207 00e8 DAE7 b .L68 1208 .LVL120: 1209 .L72: 362:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1210 .loc 1 362 12 view .LVU375 1211 00ea 0225 movs r5, #2 1212 .LVL121: 362:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1213 .loc 1 362 12 view .LVU376 1214 00ec D8E7 b .L68 1215 .cfi_endproc 1216 .LFE243: 1218 .section .text.USBD_CDC_RegisterInterface,"ax",%progbits 1219 .align 1 1220 .global USBD_CDC_RegisterInterface 1221 .syntax unified 1222 .thumb ARM GAS /tmp/ccE9OoCn.s page 41 1223 .thumb_func 1225 USBD_CDC_RegisterInterface: 1226 .LVL122: 1227 .LFB253: 728:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #endif /* USE_USBD_COMPOSITE */ 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 **** * @brief USBD_CDC_RegisterInterface 731:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 732:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param fops: CD Interface callback 733:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 734:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 735:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t USBD_CDC_RegisterInterface(USBD_HandleTypeDef *pdev, 736:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_ItfTypeDef *fops) 737:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1228 .loc 1 737 1 is_stmt 1 view -0 1229 .cfi_startproc 1230 @ args = 0, pretend = 0, frame = 0 1231 @ frame_needed = 0, uses_anonymous_args = 0 1232 @ link register save eliminated. 738:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (fops == NULL) 1233 .loc 1 738 3 view .LVU378 1234 .loc 1 738 6 is_stmt 0 view .LVU379 1235 0000 39B1 cbz r1, .L77 739:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 740:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_FAIL; 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 **** 743:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->pUserData[pdev->classId] = fops; 1236 .loc 1 743 3 is_stmt 1 view .LVU380 1237 .loc 1 743 23 is_stmt 0 view .LVU381 1238 0002 D0F8D432 ldr r3, [r0, #724] 1239 .loc 1 743 34 view .LVU382 1240 0006 B033 adds r3, r3, #176 1241 0008 00EB8300 add r0, r0, r3, lsl #2 1242 .LVL123: 1243 .loc 1 743 34 view .LVU383 1244 000c 4160 str r1, [r0, #4] 744:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 745:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_OK; 1245 .loc 1 745 3 is_stmt 1 view .LVU384 1246 .loc 1 745 10 is_stmt 0 view .LVU385 1247 000e 0020 movs r0, #0 1248 0010 7047 bx lr 1249 .LVL124: 1250 .L77: 740:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1251 .loc 1 740 12 view .LVU386 1252 0012 0320 movs r0, #3 1253 .LVL125: 746:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1254 .loc 1 746 1 view .LVU387 1255 0014 7047 bx lr 1256 .cfi_endproc 1257 .LFE253: 1259 .section .text.USBD_CDC_SetTxBuffer,"ax",%progbits 1260 .align 1 1261 .global USBD_CDC_SetTxBuffer ARM GAS /tmp/ccE9OoCn.s page 42 1262 .syntax unified 1263 .thumb 1264 .thumb_func 1266 USBD_CDC_SetTxBuffer: 1267 .LVL126: 1268 .LFB254: 747:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 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 **** * @brief USBD_CDC_SetTxBuffer 751:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 752:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pbuff: Tx Buffer 753:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param length: length of data to be sent 754:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param ClassId: The Class ID 755:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 756:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 757:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #ifdef USE_USBD_COMPOSITE 758:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t USBD_CDC_SetTxBuffer(USBD_HandleTypeDef *pdev, 759:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t *pbuff, uint32_t length, uint8_t ClassId) 760:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 761:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[ClassId]; 762:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #else 763:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t USBD_CDC_SetTxBuffer(USBD_HandleTypeDef *pdev, 764:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t *pbuff, uint32_t length) 765:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1269 .loc 1 765 1 is_stmt 1 view -0 1270 .cfi_startproc 1271 @ args = 0, pretend = 0, frame = 0 1272 @ frame_needed = 0, uses_anonymous_args = 0 1273 @ link register save eliminated. 766:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 1274 .loc 1 766 3 view .LVU389 1275 .loc 1 766 86 is_stmt 0 view .LVU390 1276 0000 D0F8D432 ldr r3, [r0, #724] 1277 .loc 1 766 27 view .LVU391 1278 0004 B033 adds r3, r3, #176 1279 0006 50F82330 ldr r3, [r0, r3, lsl #2] 1280 .LVL127: 767:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #endif /* USE_USBD_COMPOSITE */ 768:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 769:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (hcdc == NULL) 1281 .loc 1 769 3 is_stmt 1 view .LVU392 1282 .loc 1 769 6 is_stmt 0 view .LVU393 1283 000a 2BB1 cbz r3, .L80 770:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 771:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_FAIL; 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 **** 774:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->TxBuffer = pbuff; 1284 .loc 1 774 3 is_stmt 1 view .LVU394 1285 .loc 1 774 18 is_stmt 0 view .LVU395 1286 000c C3F80812 str r1, [r3, #520] 775:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->TxLength = length; 1287 .loc 1 775 3 is_stmt 1 view .LVU396 1288 .loc 1 775 18 is_stmt 0 view .LVU397 1289 0010 C3F81022 str r2, [r3, #528] 776:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ARM GAS /tmp/ccE9OoCn.s page 43 777:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_OK; 1290 .loc 1 777 3 is_stmt 1 view .LVU398 1291 .loc 1 777 10 is_stmt 0 view .LVU399 1292 0014 0020 movs r0, #0 1293 .LVL128: 1294 .loc 1 777 10 view .LVU400 1295 0016 7047 bx lr 1296 .LVL129: 1297 .L80: 771:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1298 .loc 1 771 12 view .LVU401 1299 0018 0320 movs r0, #3 1300 .LVL130: 778:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1301 .loc 1 778 1 view .LVU402 1302 001a 7047 bx lr 1303 .cfi_endproc 1304 .LFE254: 1306 .section .text.USBD_CDC_SetRxBuffer,"ax",%progbits 1307 .align 1 1308 .global USBD_CDC_SetRxBuffer 1309 .syntax unified 1310 .thumb 1311 .thumb_func 1313 USBD_CDC_SetRxBuffer: 1314 .LVL131: 1315 .LFB255: 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 **** /** 781:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_SetRxBuffer 782:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 783:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pbuff: Rx Buffer 784:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 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 **** uint8_t USBD_CDC_SetRxBuffer(USBD_HandleTypeDef *pdev, uint8_t *pbuff) 787:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1316 .loc 1 787 1 is_stmt 1 view -0 1317 .cfi_startproc 1318 @ args = 0, pretend = 0, frame = 0 1319 @ frame_needed = 0, uses_anonymous_args = 0 1320 @ link register save eliminated. 788:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 1321 .loc 1 788 3 view .LVU404 1322 .loc 1 788 86 is_stmt 0 view .LVU405 1323 0000 D0F8D432 ldr r3, [r0, #724] 1324 .loc 1 788 27 view .LVU406 1325 0004 B033 adds r3, r3, #176 1326 0006 50F82330 ldr r3, [r0, r3, lsl #2] 1327 .LVL132: 789:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 790:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (hcdc == NULL) 1328 .loc 1 790 3 is_stmt 1 view .LVU407 1329 .loc 1 790 6 is_stmt 0 view .LVU408 1330 000a 1BB1 cbz r3, .L83 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 **** return (uint8_t)USBD_FAIL; 793:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } ARM GAS /tmp/ccE9OoCn.s page 44 794:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 795:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->RxBuffer = pbuff; 1331 .loc 1 795 3 is_stmt 1 view .LVU409 1332 .loc 1 795 18 is_stmt 0 view .LVU410 1333 000c C3F80412 str r1, [r3, #516] 796:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 797:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_OK; 1334 .loc 1 797 3 is_stmt 1 view .LVU411 1335 .loc 1 797 10 is_stmt 0 view .LVU412 1336 0010 0020 movs r0, #0 1337 .LVL133: 1338 .loc 1 797 10 view .LVU413 1339 0012 7047 bx lr 1340 .LVL134: 1341 .L83: 792:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1342 .loc 1 792 12 view .LVU414 1343 0014 0320 movs r0, #3 1344 .LVL135: 798:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1345 .loc 1 798 1 view .LVU415 1346 0016 7047 bx lr 1347 .cfi_endproc 1348 .LFE255: 1350 .section .text.USBD_CDC_TransmitPacket,"ax",%progbits 1351 .align 1 1352 .global USBD_CDC_TransmitPacket 1353 .syntax unified 1354 .thumb 1355 .thumb_func 1357 USBD_CDC_TransmitPacket: 1358 .LVL136: 1359 .LFB256: 799:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 800:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 801:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 802:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_TransmitPacket 803:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * Transmit packet on IN endpoint 804:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance 805:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param ClassId: The Class ID 806:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 807:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 808:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #ifdef USE_USBD_COMPOSITE 809:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t USBD_CDC_TransmitPacket(USBD_HandleTypeDef *pdev, uint8_t ClassId) 810:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 811:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[ClassId]; 812:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #else 813:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t USBD_CDC_TransmitPacket(USBD_HandleTypeDef *pdev) 814:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1360 .loc 1 814 1 is_stmt 1 view -0 1361 .cfi_startproc 1362 @ args = 0, pretend = 0, frame = 0 1363 @ frame_needed = 0, uses_anonymous_args = 0 1364 .loc 1 814 1 is_stmt 0 view .LVU417 1365 0000 08B5 push {r3, lr} 1366 .LCFI12: 1367 .cfi_def_cfa_offset 8 ARM GAS /tmp/ccE9OoCn.s page 45 1368 .cfi_offset 3, -8 1369 .cfi_offset 14, -4 815:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 1370 .loc 1 815 3 is_stmt 1 view .LVU418 1371 .loc 1 815 86 is_stmt 0 view .LVU419 1372 0002 D0F8D432 ldr r3, [r0, #724] 1373 .loc 1 815 27 view .LVU420 1374 0006 B033 adds r3, r3, #176 1375 0008 50F82320 ldr r2, [r0, r3, lsl #2] 1376 .LVL137: 816:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #endif /* USE_USBD_COMPOSITE */ 817:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 818:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_StatusTypeDef ret = USBD_BUSY; 1377 .loc 1 818 3 is_stmt 1 view .LVU421 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 **** #ifdef USE_USBD_COMPOSITE 821:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Get the Endpoints addresses allocated for this class instance */ 822:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDCInEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_IN, USBD_EP_TYPE_BULK, ClassId); 823:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #endif /* USE_USBD_COMPOSITE */ 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 **** if (hcdc == NULL) 1378 .loc 1 825 3 view .LVU422 1379 .loc 1 825 6 is_stmt 0 view .LVU423 1380 000c 8AB1 cbz r2, .L86 826:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 827:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_FAIL; 828:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 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 **** if (hcdc->TxState == 0U) 1381 .loc 1 830 3 is_stmt 1 view .LVU424 1382 .loc 1 830 11 is_stmt 0 view .LVU425 1383 000e D2F81432 ldr r3, [r2, #532] 1384 .loc 1 830 6 view .LVU426 1385 0012 0BB1 cbz r3, .L89 818:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1386 .loc 1 818 22 view .LVU427 1387 0014 0120 movs r0, #1 1388 .LVL138: 1389 .L85: 831:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 832:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Tx Transfer in progress */ 833:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** hcdc->TxState = 1U; 834:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 835:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Update the packet total length */ 836:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** pdev->ep_in[CDCInEpAdd & 0xFU].total_length = hcdc->TxLength; 837:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 838:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Transmit next packet */ 839:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_Transmit(pdev, CDCInEpAdd, hcdc->TxBuffer, hcdc->TxLength); 840:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 841:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** ret = USBD_OK; 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 **** return (uint8_t)ret; 845:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1390 .loc 1 845 1 view .LVU428 1391 0016 08BD pop {r3, pc} 1392 .LVL139: ARM GAS /tmp/ccE9OoCn.s page 46 1393 .L89: 833:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1394 .loc 1 833 5 is_stmt 1 view .LVU429 833:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1395 .loc 1 833 19 is_stmt 0 view .LVU430 1396 0018 0123 movs r3, #1 1397 001a C2F81432 str r3, [r2, #532] 836:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1398 .loc 1 836 5 is_stmt 1 view .LVU431 836:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1399 .loc 1 836 55 is_stmt 0 view .LVU432 1400 001e D2F81032 ldr r3, [r2, #528] 836:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1401 .loc 1 836 49 view .LVU433 1402 0022 8362 str r3, [r0, #40] 839:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1403 .loc 1 839 5 is_stmt 1 view .LVU434 839:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1404 .loc 1 839 11 is_stmt 0 view .LVU435 1405 0024 D2F80822 ldr r2, [r2, #520] 1406 .LVL140: 839:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 1407 .loc 1 839 11 view .LVU436 1408 0028 8121 movs r1, #129 1409 002a FFF7FEFF bl USBD_LL_Transmit 1410 .LVL141: 841:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1411 .loc 1 841 5 is_stmt 1 view .LVU437 841:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1412 .loc 1 841 9 is_stmt 0 view .LVU438 1413 002e 0020 movs r0, #0 1414 0030 F1E7 b .L85 1415 .LVL142: 1416 .L86: 827:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1417 .loc 1 827 12 view .LVU439 1418 0032 0320 movs r0, #3 1419 .LVL143: 827:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1420 .loc 1 827 12 view .LVU440 1421 0034 EFE7 b .L85 1422 .cfi_endproc 1423 .LFE256: 1425 .section .text.USBD_CDC_ReceivePacket,"ax",%progbits 1426 .align 1 1427 .global USBD_CDC_ReceivePacket 1428 .syntax unified 1429 .thumb 1430 .thumb_func 1432 USBD_CDC_ReceivePacket: 1433 .LVL144: 1434 .LFB257: 846:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 847:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /** 848:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @brief USBD_CDC_ReceivePacket 849:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * prepare OUT Endpoint for reception 850:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @param pdev: device instance ARM GAS /tmp/ccE9OoCn.s page 47 851:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** * @retval status 852:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** */ 853:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** uint8_t USBD_CDC_ReceivePacket(USBD_HandleTypeDef *pdev) 854:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 1435 .loc 1 854 1 is_stmt 1 view -0 1436 .cfi_startproc 1437 @ args = 0, pretend = 0, frame = 0 1438 @ frame_needed = 0, uses_anonymous_args = 0 1439 .loc 1 854 1 is_stmt 0 view .LVU442 1440 0000 10B5 push {r4, lr} 1441 .LCFI13: 1442 .cfi_def_cfa_offset 8 1443 .cfi_offset 4, -8 1444 .cfi_offset 14, -4 855:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 1445 .loc 1 855 3 is_stmt 1 view .LVU443 1446 .loc 1 855 86 is_stmt 0 view .LVU444 1447 0002 D0F8D432 ldr r3, [r0, #724] 1448 .loc 1 855 27 view .LVU445 1449 0006 B033 adds r3, r3, #176 1450 0008 50F82320 ldr r2, [r0, r3, lsl #2] 1451 .LVL145: 856:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 857:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #ifdef USE_USBD_COMPOSITE 858:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Get the Endpoints addresses allocated for this class instance */ 859:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDCOutEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_OUT, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); 860:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** #endif /* USE_USBD_COMPOSITE */ 861:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 862:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->pClassDataCmsit[pdev->classId] == NULL) 1452 .loc 1 862 3 is_stmt 1 view .LVU446 1453 .loc 1 862 6 is_stmt 0 view .LVU447 1454 000c 92B1 cbz r2, .L93 863:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 864:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_FAIL; 865:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 866:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** 867:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** if (pdev->dev_speed == USBD_SPEED_HIGH) 1455 .loc 1 867 3 is_stmt 1 view .LVU448 1456 .loc 1 867 11 is_stmt 0 view .LVU449 1457 000e 047C ldrb r4, [r0, #16] @ zero_extendqisi2 1458 .loc 1 867 6 view .LVU450 1459 0010 44B9 cbnz r4, .L92 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 **** /* Prepare Out endpoint to receive next packet */ 870:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_PrepareReceive(pdev, CDCOutEpAdd, hcdc->RxBuffer, 1460 .loc 1 870 5 is_stmt 1 view .LVU451 1461 .loc 1 870 11 is_stmt 0 view .LVU452 1462 0012 4FF40073 mov r3, #512 1463 0016 D2F80422 ldr r2, [r2, #516] 1464 .LVL146: 1465 .loc 1 870 11 view .LVU453 1466 001a 0121 movs r1, #1 1467 001c FFF7FEFF bl USBD_LL_PrepareReceive 1468 .LVL147: 1469 .L91: 871:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_HS_OUT_PACKET_SIZE); 872:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } ARM GAS /tmp/ccE9OoCn.s page 48 873:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** else 874:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** { 875:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** /* Prepare Out endpoint to receive next packet */ 876:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** (void)USBD_LL_PrepareReceive(pdev, CDCOutEpAdd, hcdc->RxBuffer, 877:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 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 **** 880:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** return (uint8_t)USBD_OK; 881:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1470 .loc 1 881 1 view .LVU454 1471 0020 2046 mov r0, r4 1472 0022 10BD pop {r4, pc} 1473 .LVL148: 1474 .L92: 876:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 1475 .loc 1 876 5 is_stmt 1 view .LVU455 876:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 1476 .loc 1 876 11 is_stmt 0 view .LVU456 1477 0024 4023 movs r3, #64 1478 0026 D2F80422 ldr r2, [r2, #516] 1479 .LVL149: 876:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** CDC_DATA_FS_OUT_PACKET_SIZE); 1480 .loc 1 876 11 view .LVU457 1481 002a 0121 movs r1, #1 1482 002c FFF7FEFF bl USBD_LL_PrepareReceive 1483 .LVL150: 880:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1484 .loc 1 880 10 view .LVU458 1485 0030 0024 movs r4, #0 1486 0032 F5E7 b .L91 1487 .LVL151: 1488 .L93: 864:Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c **** } 1489 .loc 1 864 12 view .LVU459 1490 0034 0324 movs r4, #3 1491 0036 F3E7 b .L91 1492 .cfi_endproc 1493 .LFE257: 1495 .section .data.USBD_CDC_CfgDesc,"aw" 1496 .align 2 1499 USBD_CDC_CfgDesc: 1500 0000 09024300 .ascii "\011\002C\000\002\001\000\3002\011\004\000\000\001\002" 1500 020100C0 1500 32090400 1500 000102 1501 000f 02010005 .ascii "\002\001\000\005$\000\020\001\005$\001\000\001\004$" 1501 24001001 1501 05240100 1501 010424 1502 001e 02020524 .ascii "\002\002\005$\006\000\001\007\005\202\003\010\000\020" 1502 06000107 1502 05820308 1502 0010 1503 002c 09040100 .ascii "\011\004\001\000\002\012\000\000\000\007\005\001\002" 1503 020A0000 1503 00070501 1503 02 ARM GAS /tmp/ccE9OoCn.s page 49 1504 0039 40000007 .ascii "@\000\000\007\005\201\002@\000\000" 1504 05810240 1504 0000 1505 .global USBD_CDC 1506 .section .data.USBD_CDC,"aw" 1507 .align 2 1510 USBD_CDC: 1511 0000 00000000 .word USBD_CDC_Init 1512 0004 00000000 .word USBD_CDC_DeInit 1513 0008 00000000 .word USBD_CDC_Setup 1514 000c 00000000 .word 0 1515 0010 00000000 .word USBD_CDC_EP0_RxReady 1516 0014 00000000 .word USBD_CDC_DataIn 1517 0018 00000000 .word USBD_CDC_DataOut 1518 001c 00000000 .word 0 1519 0020 00000000 .word 0 1520 0024 00000000 .word 0 1521 0028 00000000 .word USBD_CDC_GetHSCfgDesc 1522 002c 00000000 .word USBD_CDC_GetFSCfgDesc 1523 0030 00000000 .word USBD_CDC_GetOtherSpeedCfgDesc 1524 0034 00000000 .word USBD_CDC_GetDeviceQualifierDescriptor 1525 .section .data.USBD_CDC_DeviceQualifierDesc,"aw" 1526 .align 2 1529 USBD_CDC_DeviceQualifierDesc: 1530 0000 0A060002 .ascii "\012\006\000\002\000\000\000@\001\000" 1530 00000040 1530 0100 1531 .text 1532 .Letext0: 1533 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stddef.h" 1534 .file 3 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h" 1535 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h" 1536 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 1537 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h" 1538 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h" 1539 .file 8 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h" 1540 .file 9 "Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h" 1541 .file 10 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h" 1542 .file 11 "/usr/include/newlib/string.h" 1543 .file 12 "USB_DEVICE/Target/usbd_conf.h" 1544 .file 13 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h" 1545 .file 14 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h" 1546 .file 15 "" ARM GAS /tmp/ccE9OoCn.s page 50 DEFINED SYMBOLS *ABS*:00000000 usbd_cdc.c /tmp/ccE9OoCn.s:21 .text.USBD_CDC_EP0_RxReady:00000000 $t /tmp/ccE9OoCn.s:26 .text.USBD_CDC_EP0_RxReady:00000000 USBD_CDC_EP0_RxReady /tmp/ccE9OoCn.s:97 .text.USBD_CDC_GetDeviceQualifierDescriptor:00000000 $t /tmp/ccE9OoCn.s:103 .text.USBD_CDC_GetDeviceQualifierDescriptor:00000000 USBD_CDC_GetDeviceQualifierDescriptor /tmp/ccE9OoCn.s:124 .text.USBD_CDC_GetDeviceQualifierDescriptor:00000008 $d /tmp/ccE9OoCn.s:1529 .data.USBD_CDC_DeviceQualifierDesc:00000000 USBD_CDC_DeviceQualifierDesc /tmp/ccE9OoCn.s:129 .text.USBD_CDC_GetOtherSpeedCfgDesc:00000000 $t /tmp/ccE9OoCn.s:134 .text.USBD_CDC_GetOtherSpeedCfgDesc:00000000 USBD_CDC_GetOtherSpeedCfgDesc /tmp/ccE9OoCn.s:224 .text.USBD_CDC_GetOtherSpeedCfgDesc:00000044 $d /tmp/ccE9OoCn.s:1499 .data.USBD_CDC_CfgDesc:00000000 USBD_CDC_CfgDesc /tmp/ccE9OoCn.s:229 .text.USBD_CDC_GetFSCfgDesc:00000000 $t /tmp/ccE9OoCn.s:234 .text.USBD_CDC_GetFSCfgDesc:00000000 USBD_CDC_GetFSCfgDesc /tmp/ccE9OoCn.s:324 .text.USBD_CDC_GetFSCfgDesc:00000044 $d /tmp/ccE9OoCn.s:329 .text.USBD_CDC_GetHSCfgDesc:00000000 $t /tmp/ccE9OoCn.s:334 .text.USBD_CDC_GetHSCfgDesc:00000000 USBD_CDC_GetHSCfgDesc /tmp/ccE9OoCn.s:424 .text.USBD_CDC_GetHSCfgDesc:00000044 $d /tmp/ccE9OoCn.s:429 .text.USBD_CDC_DataOut:00000000 $t /tmp/ccE9OoCn.s:434 .text.USBD_CDC_DataOut:00000000 USBD_CDC_DataOut /tmp/ccE9OoCn.s:499 .text.USBD_CDC_DataIn:00000000 $t /tmp/ccE9OoCn.s:504 .text.USBD_CDC_DataIn:00000000 USBD_CDC_DataIn /tmp/ccE9OoCn.s:625 .text.USBD_CDC_Setup:00000000 $t /tmp/ccE9OoCn.s:630 .text.USBD_CDC_Setup:00000000 USBD_CDC_Setup /tmp/ccE9OoCn.s:787 .text.USBD_CDC_Setup:0000009e $d /tmp/ccE9OoCn.s:799 .text.USBD_CDC_Setup:000000aa $t /tmp/ccE9OoCn.s:914 .text.USBD_CDC_DeInit:00000000 $t /tmp/ccE9OoCn.s:919 .text.USBD_CDC_DeInit:00000000 USBD_CDC_DeInit /tmp/ccE9OoCn.s:1013 .text.USBD_CDC_Init:00000000 $t /tmp/ccE9OoCn.s:1018 .text.USBD_CDC_Init:00000000 USBD_CDC_Init /tmp/ccE9OoCn.s:1219 .text.USBD_CDC_RegisterInterface:00000000 $t /tmp/ccE9OoCn.s:1225 .text.USBD_CDC_RegisterInterface:00000000 USBD_CDC_RegisterInterface /tmp/ccE9OoCn.s:1260 .text.USBD_CDC_SetTxBuffer:00000000 $t /tmp/ccE9OoCn.s:1266 .text.USBD_CDC_SetTxBuffer:00000000 USBD_CDC_SetTxBuffer /tmp/ccE9OoCn.s:1307 .text.USBD_CDC_SetRxBuffer:00000000 $t /tmp/ccE9OoCn.s:1313 .text.USBD_CDC_SetRxBuffer:00000000 USBD_CDC_SetRxBuffer /tmp/ccE9OoCn.s:1351 .text.USBD_CDC_TransmitPacket:00000000 $t /tmp/ccE9OoCn.s:1357 .text.USBD_CDC_TransmitPacket:00000000 USBD_CDC_TransmitPacket /tmp/ccE9OoCn.s:1426 .text.USBD_CDC_ReceivePacket:00000000 $t /tmp/ccE9OoCn.s:1432 .text.USBD_CDC_ReceivePacket:00000000 USBD_CDC_ReceivePacket /tmp/ccE9OoCn.s:1496 .data.USBD_CDC_CfgDesc:00000000 $d /tmp/ccE9OoCn.s:1510 .data.USBD_CDC:00000000 USBD_CDC /tmp/ccE9OoCn.s:1507 .data.USBD_CDC:00000000 $d /tmp/ccE9OoCn.s:1526 .data.USBD_CDC_DeviceQualifierDesc:00000000 $d UNDEFINED SYMBOLS USBD_GetEpDesc USBD_LL_GetRxDataSize USBD_LL_Transmit USBD_CtlSendData USBD_CtlPrepareRx USBD_CtlError USBD_LL_CloseEP USBD_static_free USBD_static_malloc memset USBD_LL_OpenEP ARM GAS /tmp/ccE9OoCn.s page 51 USBD_LL_PrepareReceive