ARM GAS /tmp/cc5wsx2R.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 "stm32f4xx_ll_usb.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c" 20 .section .text.USB_CoreReset,"ax",%progbits 21 .align 1 22 .syntax unified 23 .thumb 24 .thumb_func 26 USB_CoreReset: 27 .LVL0: 28 .LFB273: 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ****************************************************************************** 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @file stm32f4xx_ll_usb.c 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @author MCD Application Team 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB Low Layer HAL module driver. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This file provides firmware functions to manage the following 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * functionalities of the USB Peripheral Controller: 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * + Initialization/de-initialization functions 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * + I/O operation functions 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * + Peripheral Control functions 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * + Peripheral State functions 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ****************************************************************************** 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @attention 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * Copyright (c) 2016 STMicroelectronics. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * All rights reserved. 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This software is licensed under terms that can be found in the LICENSE file 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * in the root directory of this software component. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ****************************************************************************** 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** @verbatim 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ============================================================================== 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ##### How to use this driver ##### 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ============================================================================== 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** [..] 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (#) Fill parameters of Init structure in USB_CfgTypeDef structure. ARM GAS /tmp/cc5wsx2R.s page 2 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (#) Call USB_CoreInit() API to initialize the USB Core peripheral. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (#) The upper HAL HCD/PCD driver will call the right routines for its internal processes. 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** @endverbatim 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ****************************************************************************** 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Includes ------------------------------------------------------------------*/ 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #include "stm32f4xx_hal.h" 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** @addtogroup STM32F4xx_LL_USB_DRIVER 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @{ 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined (HAL_PCD_MODULE_ENABLED) || defined (HAL_HCD_MODULE_ENABLED) 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private typedef -----------------------------------------------------------*/ 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private define ------------------------------------------------------------*/ 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private macro -------------------------------------------------------------*/ 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private variables ---------------------------------------------------------*/ 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private function prototypes -----------------------------------------------*/ 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private functions ---------------------------------------------------------*/ 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx); 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Exported functions --------------------------------------------------------*/ 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** @defgroup USB_LL_Exported_Functions USB Low Layer Exported Functions 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @{ 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** @defgroup USB_LL_Exported_Functions_Group1 Initialization/de-initialization functions 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Initialization and Configuration functions 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** @verbatim 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** =============================================================================== 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ##### Initialization/de-initialization functions ##### 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** =============================================================================== 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** @endverbatim 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @{ 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Initializes the USB Core 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx USB Instance 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param cfg pointer to a USB_OTG_CfgTypeDef structure that contains 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * the configuration information for the specified USBx peripheral. 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret; 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.phy_itface == USB_OTG_ULPI_PHY) 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 3 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Init The ULPI Interface */ 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_TSDPS | USB_OTG_GUSBCFG_ULPIFSLS | USB_OTG_GUSBCFG_PHYSEL); 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Select vbus source */ 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_ULPIEVBUSD | USB_OTG_GUSBCFG_ULPIEVBUSI); 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.use_external_vbus == 1U) 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= USB_OTG_GUSBCFG_ULPIEVBUSD; 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Reset after a PHY select */ 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = USB_CoreReset(USBx); 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else /* FS interface (embedded Phy) */ 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Select FS Embedded PHY */ 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= USB_OTG_GUSBCFG_PHYSEL; 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Reset after a PHY select */ 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = USB_CoreReset(USBx); 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.battery_charging_enable == 0U) 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Activate the USB Transceiver */ 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN; 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Deactivate the USB Transceiver */ 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.dma_enable == 1U) 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_HBSTLEN_2; 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Set the USB turnaround time 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx USB Instance 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param hclk: AHB clock frequency 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval USB turnaround time In PHY Clocks number 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_SetTurnaroundTime(USB_OTG_GlobalTypeDef *USBx, 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t hclk, uint8_t speed) 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t UsbTrd; 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* The USBTRD is configured according to the tables below, depending on AHB frequency ARM GAS /tmp/cc5wsx2R.s page 4 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** used by application. In the low AHB frequency range it is used to stretch enough the USB response 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** time to IN tokens, the USB turnaround time, so to compensate for the longer AHB read access 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** latency to the Data FIFO */ 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (speed == USBD_FS_SPEED) 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((hclk >= 14200000U) && (hclk < 15000000U)) 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 14.2-15 MHz */ 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xFU; 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 15000000U) && (hclk < 16000000U)) 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 15-16 MHz */ 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xEU; 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 16000000U) && (hclk < 17200000U)) 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 16-17.2 MHz */ 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xDU; 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 17200000U) && (hclk < 18500000U)) 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 17.2-18.5 MHz */ 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xCU; 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 18500000U) && (hclk < 20000000U)) 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 18.5-20 MHz */ 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xBU; 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 20000000U) && (hclk < 21800000U)) 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 20-21.8 MHz */ 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xAU; 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 21800000U) && (hclk < 24000000U)) 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 21.8-24 MHz */ 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0x9U; 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 24000000U) && (hclk < 27700000U)) 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 24-27.7 MHz */ 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0x8U; 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 27700000U) && (hclk < 32000000U)) 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 27.7-32 MHz */ 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0x7U; 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else /* if(hclk >= 32000000) */ 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 32-200 MHz */ 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0x6U; 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if (speed == USBD_HS_SPEED) ARM GAS /tmp/cc5wsx2R.s page 5 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = USBD_HS_TRDT_VALUE; 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = USBD_DEFAULT_TRDT_VALUE; 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG &= ~USB_OTG_GUSBCFG_TRDT; 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= (uint32_t)((UsbTrd << 10) & USB_OTG_GUSBCFG_TRDT); 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_EnableGlobalInt 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * Enables the controller's Global Int in the AHB Config reg 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EnableGlobalInt(USB_OTG_GlobalTypeDef *USBx) 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_GINT; 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_DisableGlobalInt 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * Disable the controller's Global Int in the AHB Config reg 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DisableGlobalInt(USB_OTG_GlobalTypeDef *USBx) 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG &= ~USB_OTG_GAHBCFG_GINT; 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_SetCurrentMode Set functional mode 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param mode current core mode 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_DEVICE_MODE Peripheral mode 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_HOST_MODE Host mode 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_SetCurrentMode(USB_OTG_GlobalTypeDef *USBx, USB_OTG_ModeTypeDef mode) 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t ms = 0U; 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_FHMOD | USB_OTG_GUSBCFG_FDMOD); 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (mode == USB_HOST_MODE) 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= USB_OTG_GUSBCFG_FHMOD; 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/cc5wsx2R.s page 6 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_Delay(10U); 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ms += 10U; 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USB_GetMode(USBx) != (uint32_t)USB_HOST_MODE) && (ms < HAL_USB_CURRENT_MODE_MAX_DELAY 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if (mode == USB_DEVICE_MODE) 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= USB_OTG_GUSBCFG_FDMOD; 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_Delay(10U); 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ms += 10U; 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USB_GetMode(USBx) != (uint32_t)USB_DEVICE_MODE) && (ms < HAL_USB_CURRENT_MODE_MAX_DEL 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_ERROR; 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ms == HAL_USB_CURRENT_MODE_MAX_DELAY_MS) 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_ERROR; 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_DevInit Initializes the USB_OTG controller registers 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * for device mode 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param cfg pointer to a USB_OTG_CfgTypeDef structure that contains 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * the configuration information for the specified USBx peripheral. 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK; 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < 15U; i++) 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->DIEPTXF[i] = 0U; 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) \ 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) \ 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** || defined(STM32F423xx) 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* VBUS Sensing setup */ 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.vbus_sensing_enable == 0U) 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Deactivate VBUS Sensing B */ ARM GAS /tmp/cc5wsx2R.s page 7 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBDEN; 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* B-peripheral session valid override enable */ 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOEN; 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOVAL; 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable HW VBUS sensing */ 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_VBDEN; 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #else 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* VBUS Sensing setup */ 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.vbus_sensing_enable == 0U) 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * Disable HW VBUS sensing. VBUS is internally considered to be always 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * at VBUS-Valid level (5V). 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_NOVBUSSENS; 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSBSEN; 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSASEN; 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable HW VBUS sensing */ 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_NOVBUSSENS; 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_VBUSBSEN; 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #endif /* defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** defined(STM32F423xx) */ 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Restart the Phy Clock */ 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_PCGCCTL = 0U; 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.phy_itface == USB_OTG_ULPI_PHY) 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.speed == USBD_HS_SPEED) 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set Core speed to High speed mode */ 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH); 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set Core speed to Full speed mode */ 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH_IN_FULL); 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set Core speed to Full speed mode */ 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_FULL); 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Flush the FIFOs */ ARM GAS /tmp/cc5wsx2R.s page 8 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (USB_FlushTxFifo(USBx, 0x10U) != HAL_OK) /* all Tx FIFOs */ 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = HAL_ERROR; 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (USB_FlushRxFifo(USBx) != HAL_OK) 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = HAL_ERROR; 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear all pending Device Interrupts */ 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DIEPMSK = 0U; 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK = 0U; 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < cfg.dev_endpoints; i++) 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_INEP(i)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (i == 0U) 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_SNAK; 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_EPDIS | USB_OTG_DIEPCTL_SNAK; 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPCTL = 0U; 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPTSIZ = 0U; 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPINT = 0xFB7FU; 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < cfg.dev_endpoints; i++) 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_OUTEP(i)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (i == 0U) 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_SNAK; 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_EPDIS | USB_OTG_DOEPCTL_SNAK; 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPCTL = 0U; 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPTSIZ = 0U; 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; ARM GAS /tmp/cc5wsx2R.s page 9 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DIEPMSK &= ~(USB_OTG_DIEPMSK_TXFURM); 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Disable all interrupts. */ 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK = 0U; 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear any pending interrupts */ 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTSTS = 0xBFFFFFFFU; 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable the common interrupts */ 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.dma_enable == 0U) 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_RXFLVLM; 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable interrupts matching to the Device mode ONLY */ 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_USBSUSPM | USB_OTG_GINTMSK_USBRST | 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_ENUMDNEM | USB_OTG_GINTMSK_IEPINT | 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_OEPINT | USB_OTG_GINTMSK_IISOIXFRM | 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_PXFRM_IISOOXFRM | USB_OTG_GINTMSK_WUIM; 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.Sof_enable != 0U) 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_SOFM; 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.vbus_sensing_enable == 1U) 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= (USB_OTG_GINTMSK_SRQIM | USB_OTG_GINTMSK_OTGINT); 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_FlushTxFifo Flush a Tx FIFO 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param num FIFO number 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 1 to 15 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 15 means Flush all Tx FIFOs 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushTxFifo(USB_OTG_GlobalTypeDef *USBx, uint32_t num) 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Wait for AHB master IDLE state. */ 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count++; 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (count > HAL_USB_TIMEOUT) 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_TIMEOUT; 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); ARM GAS /tmp/cc5wsx2R.s page 10 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Flush TX Fifo */ 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count = 0U; 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GRSTCTL = (USB_OTG_GRSTCTL_TXFFLSH | (num << 6)); 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count++; 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (count > HAL_USB_TIMEOUT) 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_TIMEOUT; 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_TXFFLSH) == USB_OTG_GRSTCTL_TXFFLSH); 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_FlushRxFifo Flush Rx FIFO 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushRxFifo(USB_OTG_GlobalTypeDef *USBx) 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Wait for AHB master IDLE state. */ 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count++; 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (count > HAL_USB_TIMEOUT) 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_TIMEOUT; 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Flush RX Fifo */ 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count = 0U; 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GRSTCTL = USB_OTG_GRSTCTL_RXFFLSH; 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count++; 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (count > HAL_USB_TIMEOUT) 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_TIMEOUT; 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_RXFFLSH) == USB_OTG_GRSTCTL_RXFFLSH); 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_SetDevSpeed Initializes the DevSpd field of DCFG register ARM GAS /tmp/cc5wsx2R.s page 11 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * depending the PHY type and the enumeration speed of the device. 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param speed device speed 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_OTG_SPEED_HIGH: High speed mode 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_OTG_SPEED_HIGH_IN_FULL: High speed core in Full Speed mode 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_OTG_SPEED_FULL: Full speed mode 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval Hal status 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_SetDevSpeed(const USB_OTG_GlobalTypeDef *USBx, uint8_t speed) 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCFG |= speed; 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_GetDevSpeed Return the Dev Speed 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval speed device speed 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USBD_HS_SPEED: High speed mode 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USBD_FS_SPEED: Full speed mode 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t USB_GetDevSpeed(const USB_OTG_GlobalTypeDef *USBx) 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t speed; 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t DevEnumSpeed = USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD; 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (DevEnumSpeed == DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ) 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** speed = USBD_HS_SPEED; 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ) || 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_48MHZ)) 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** speed = USBD_FS_SPEED; 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** speed = 0xFU; 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return speed; 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Activate and configure an endpoint 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateEndpoint(const USB_OTG_GlobalTypeDef *USBx, const USB_OTG_EPTypeDef * 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; ARM GAS /tmp/cc5wsx2R.s page 12 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK)); 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_USBAEP) == 0U) 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_USBAEP; 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_OUTEP(epnum)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0U) 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_USBAEP; 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Activate and configure a dedicated endpoint 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateDedicatedEndpoint(const USB_OTG_GlobalTypeDef *USBx, const USB_OTG_EP 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Read DEPCTLn register */ 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_INEP(epnum)->DIEPCTL) & USB_OTG_DIEPCTL_USBAEP) == 0U) 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_USBAEP; 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DEACHMSK |= USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK)); 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_OUTEP(epnum)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0U) 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 13 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_USBAEP; 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DEACHMSK |= USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief De-activate and de-initialize an endpoint 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DeactivateEndpoint(const USB_OTG_GlobalTypeDef *USBx, const USB_OTG_EPTypeDef 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Read DEPCTLn register */ 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SNAK; 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_MPSIZ | 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_TXFNUM | 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_EPTYP); 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_MPSIZ | 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_SD0PID_SEVNFRM | 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_EPTYP); 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } ARM GAS /tmp/cc5wsx2R.s page 14 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief De-activate and de-initialize a dedicated endpoint 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DeactivateDedicatedEndpoint(const USB_OTG_GlobalTypeDef *USBx, const USB_OTG_ 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Read DEPCTLn register */ 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SNAK; 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~ USB_OTG_DIEPCTL_USBAEP; 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~USB_OTG_DOEPCTL_USBAEP; 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_EPStartXfer : setup and starts a transfer over an EP 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param dma USB dma enabled or disabled 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 0 : DMA feature not used 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 1 : DMA feature used 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EPStartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep, uint8_t dma) 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t pktcnt; 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* IN endpoint */ 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) ARM GAS /tmp/cc5wsx2R.s page 15 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Zero Length Packet? */ 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len == 0U) 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Program the transfer size and packet count 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * as follows: xfersize = N * maxpacket + 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * short_packet pktcnt = N + (short_packet 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * exist ? 1 : 0) 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (epnum == 0U) 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len > ep->maxpacket) 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ep->xfer_len = ep->maxpacket; 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pktcnt = (uint16_t)((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket); 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19)); 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->type == EP_TYPE_ISOC) 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_MULCNT); 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & ((uint32_t)pktcnt << 29)); 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma == 1U) 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((uint32_t)ep->dma_addr != 0U) 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPDMA = (uint32_t)(ep->dma_addr); 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->type == EP_TYPE_ISOC) 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 16 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable, IN data in FIFO */ 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable, IN data in FIFO */ 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->type != EP_TYPE_ISOC) 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable the Tx FIFO Empty Interrupt for this EP */ 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len > 0U) 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK); 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_WritePacket(USBx, ep->xfer_buff, ep->num, (uint16_t)ep->xfer_len, dma); 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else /* OUT endpoint */ 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Program the transfer size and packet count as follows: 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * pktcnt = N 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * xfersize = N * maxpacket 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ); 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (epnum == 0U) 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len > 0U) 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ep->xfer_len = ep->maxpacket; 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Store transfer size, for EP0 this is equal to endpoint max packet size */ 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ep->xfer_size = ep->maxpacket; 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & ep->xfer_size); 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } ARM GAS /tmp/cc5wsx2R.s page 17 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len == 0U) 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & ep->maxpacket); 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pktcnt = (uint16_t)((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket); 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ep->xfer_size = ep->maxpacket * pktcnt; 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19); 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & ep->xfer_size; 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma == 1U) 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((uint32_t)ep->xfer_buff != 0U) 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPDMA = (uint32_t)(ep->xfer_buff); 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->type == EP_TYPE_ISOC) 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SODDFRM; 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable */ 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_EPStoptXfer Stop transfer on an EP 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx usb device instance 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EPStopXfer(const USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK; 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* IN endpoint */ ARM GAS /tmp/cc5wsx2R.s page 18 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable, IN data in FIFO */ 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_INEP(ep->num)->DIEPCTL) & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(ep->num)->DIEPCTL |= (USB_OTG_DIEPCTL_SNAK); 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(ep->num)->DIEPCTL |= (USB_OTG_DIEPCTL_EPDIS); 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count++; 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (count > 10000U) 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = HAL_ERROR; 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while (((USBx_INEP(ep->num)->DIEPCTL) & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA); 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else /* OUT endpoint */ 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_OUTEP(ep->num)->DOEPCTL) & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(ep->num)->DOEPCTL |= (USB_OTG_DOEPCTL_SNAK); 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(ep->num)->DOEPCTL |= (USB_OTG_DOEPCTL_EPDIS); 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count++; 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (count > 10000U) 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = HAL_ERROR; 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while (((USBx_OUTEP(ep->num)->DOEPCTL) & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA); 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_WritePacket : Writes a packet into the Tx FIFO associated 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * with the EP/channel 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param src pointer to source buffer 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ch_ep_num endpoint or host channel number 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param len Number of bytes to write 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param dma USB dma enabled or disabled 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 0 : DMA feature not used 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 1 : DMA feature used 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ ARM GAS /tmp/cc5wsx2R.s page 19 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_WritePacket(const USB_OTG_GlobalTypeDef *USBx, uint8_t *src, 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t ch_ep_num, uint16_t len, uint8_t dma) 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t *pSrc = src; 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t count32b; 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma == 0U) 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count32b = ((uint32_t)len + 3U) / 4U; 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < count32b; i++) 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DFIFO((uint32_t)ch_ep_num) = __UNALIGNED_UINT32_READ(pSrc); 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ReadPacket : read a packet from the RX FIFO 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param dest source pointer 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param len Number of bytes to read 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval pointer to destination buffer 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** void *USB_ReadPacket(const USB_OTG_GlobalTypeDef *USBx, uint8_t *dest, uint16_t len) 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t *pDest = dest; 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t pData; 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t count32b = (uint32_t)len >> 2U; 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t remaining_bytes = len % 4U; 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < count32b; i++) 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __UNALIGNED_UINT32_WRITE(pDest, USBx_DFIFO(0U)); 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* When Number of data is not word aligned, read the remaining byte */ 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (remaining_bytes != 0U) 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** i = 0U; 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __UNALIGNED_UINT32_WRITE(&pData, USBx_DFIFO(0U)); 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 20 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** *(uint8_t *)pDest = (uint8_t)(pData >> (8U * (uint8_t)(i))); 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** i++; 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** remaining_bytes--; 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while (remaining_bytes != 0U); 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((void *)pDest); 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_EPSetStall : set a stall condition over an EP 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EPSetStall(const USB_OTG_GlobalTypeDef *USBx, const USB_OTG_EPTypeDef *ep) 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == 0U) && (epnum != 0U)) 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_EPDIS); 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_STALL; 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == 0U) && (epnum != 0U)) 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_EPDIS); 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_STALL; 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_EPClearStall : Clear a stall condition over an EP 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EPClearStall(const USB_OTG_GlobalTypeDef *USBx, const USB_OTG_EPTypeDef *ep) 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 21 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_StopDevice : Stop the usb device mode 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_StopDevice(USB_OTG_GlobalTypeDef *USBx) 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret; 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear Pending interrupt */ 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < 15U; i++) 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPINT = 0xFB7FU; 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear interrupt masks */ 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DIEPMSK = 0U; 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK = 0U; 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Flush the FIFO */ 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = USB_FlushRxFifo(USBx); 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = USB_FlushTxFifo(USBx, 0x10U); 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_SetDevAddress : Stop the usb device mode 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param address new device address to be assigned ARM GAS /tmp/cc5wsx2R.s page 22 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 0 to 255 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_SetDevAddress(const USB_OTG_GlobalTypeDef *USBx, uint8_t address) 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCFG &= ~(USB_OTG_DCFG_DAD); 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCFG |= ((uint32_t)address << 4) & USB_OTG_DCFG_DAD; 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_DevConnect : Connect the USB device by enabling Rpu 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DevConnect(const USB_OTG_GlobalTypeDef *USBx) 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* In case phy is stopped, ensure to ungate and restore the phy CLK */ 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_PCGCCTL &= ~(USB_OTG_PCGCCTL_STOPCLK | USB_OTG_PCGCCTL_GATECLK); 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_SDIS; 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_DevDisconnect : Disconnect the USB device by disabling Rpu 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DevDisconnect(const USB_OTG_GlobalTypeDef *USBx) 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* In case phy is stopped, ensure to ungate and restore the phy CLK */ 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_PCGCCTL &= ~(USB_OTG_PCGCCTL_STOPCLK | USB_OTG_PCGCCTL_GATECLK); 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ReadInterrupts: return the global USB interrupt status 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval USB Global Interrupt status 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_ReadInterrupts(USB_OTG_GlobalTypeDef const *USBx) 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx->GINTSTS; ARM GAS /tmp/cc5wsx2R.s page 23 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx->GINTMSK; 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return tmpreg; 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ReadChInterrupts: return USB channel interrupt status 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param chnum Channel number 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval USB Channel Interrupt status 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_ReadChInterrupts(const USB_OTG_GlobalTypeDef *USBx, uint8_t chnum) 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_HC(chnum)->HCINT; 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_HC(chnum)->HCINTMSK; 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return tmpreg; 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ReadDevAllOutEpInterrupt: return the USB device OUT endpoints interrupt status 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval USB Device OUT EP interrupt status 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_ReadDevAllOutEpInterrupt(const USB_OTG_GlobalTypeDef *USBx) 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_DEVICE->DAINT; 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DAINTMSK; 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((tmpreg & 0xffff0000U) >> 16); 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ReadDevAllInEpInterrupt: return the USB device IN endpoints interrupt status 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval USB Device IN EP interrupt status 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_ReadDevAllInEpInterrupt(const USB_OTG_GlobalTypeDef *USBx) 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_DEVICE->DAINT; 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DAINTMSK; 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((tmpreg & 0xFFFFU)); 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Returns Device OUT EP Interrupt register 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device ARM GAS /tmp/cc5wsx2R.s page 24 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param epnum endpoint number 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 0 to 15 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval Device OUT EP Interrupt register 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_ReadDevOutEPInterrupt(const USB_OTG_GlobalTypeDef *USBx, uint8_t epnum) 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_OUTEP((uint32_t)epnum)->DOEPINT; 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DOEPMSK; 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return tmpreg; 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Returns Device IN EP Interrupt register 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param epnum endpoint number 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 0 to 15 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval Device IN EP Interrupt register 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_ReadDevInEPInterrupt(const USB_OTG_GlobalTypeDef *USBx, uint8_t epnum) 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t msk; 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t emp; 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** msk = USBx_DEVICE->DIEPMSK; 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** emp = USBx_DEVICE->DIEPEMPMSK; 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** msk |= ((emp >> (epnum & EP_ADDR_MSK)) & 0x1U) << 7; 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk; 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return tmpreg; 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ClearInterrupts: clear a USB interrupt 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param interrupt flag 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval None 1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** void USB_ClearInterrupts(USB_OTG_GlobalTypeDef *USBx, uint32_t interrupt) 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTSTS &= interrupt; 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Returns USB core mode 1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval return core mode : Host or Device 1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 1 : Host 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 0 : Device 1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_GetMode(const USB_OTG_GlobalTypeDef *USBx) ARM GAS /tmp/cc5wsx2R.s page 25 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((USBx->GINTSTS) & 0x1U); 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Activate EP0 for Setup transactions 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateSetup(const USB_OTG_GlobalTypeDef *USBx) 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set the MPS of the IN EP0 to 64 bytes */ 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(0U)->DIEPCTL &= ~USB_OTG_DIEPCTL_MPSIZ; 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL |= USB_OTG_DCTL_CGINAK; 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Prepare the EP0 to start the first control setup 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param dma USB dma enabled or disabled 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 0 : DMA feature not used 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 1 : DMA feature used 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param psetup pointer to setup packet 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EP0_OutStart(const USB_OTG_GlobalTypeDef *USBx, uint8_t dma, const uint8_t *p 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t gSNPSiD = *(__IO const uint32_t *)(&USBx->CID + 0x1U); 1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (gSNPSiD > USB_OTG_CORE_ID_300A) 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_OUTEP(0U)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ = 0U; 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= (3U * 8U); 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma == 1U) 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPDMA = (uint32_t)psetup; 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable */ 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPCTL |= USB_OTG_DOEPCTL_EPENA | USB_OTG_DOEPCTL_USBAEP; 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; ARM GAS /tmp/cc5wsx2R.s page 26 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Reset the USB Core (needed after USB clock settings change) 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx) 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 29 .loc 1 1407 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 8 32 @ frame_needed = 0, uses_anonymous_args = 0 33 @ link register save eliminated. 34 .loc 1 1407 1 is_stmt 0 view .LVU1 35 0000 82B0 sub sp, sp, #8 36 .LCFI0: 37 .cfi_def_cfa_offset 8 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 38 .loc 1 1408 3 is_stmt 1 view .LVU2 39 .loc 1 1408 17 is_stmt 0 view .LVU3 40 0002 0023 movs r3, #0 41 0004 0193 str r3, [sp, #4] 42 .L3: 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Wait for AHB master IDLE state. */ 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 43 .loc 1 1411 3 is_stmt 1 view .LVU4 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count++; 44 .loc 1 1413 5 view .LVU5 45 .loc 1 1413 10 is_stmt 0 view .LVU6 46 0006 019B ldr r3, [sp, #4] 47 0008 0133 adds r3, r3, #1 48 000a 0193 str r3, [sp, #4] 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (count > HAL_USB_TIMEOUT) 49 .loc 1 1415 5 is_stmt 1 view .LVU7 50 .loc 1 1415 15 is_stmt 0 view .LVU8 51 000c 019B ldr r3, [sp, #4] 52 .loc 1 1415 8 view .LVU9 53 000e B3F1706F cmp r3, #251658240 54 0012 1CD8 bhi .L7 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_TIMEOUT; 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 55 .loc 1 1419 53 is_stmt 1 view .LVU10 56 .loc 1 1419 17 is_stmt 0 view .LVU11 57 0014 0369 ldr r3, [r0, #16] 58 .loc 1 1419 53 view .LVU12 59 0016 002B cmp r3, #0 60 0018 F5DA bge .L3 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count = 10U; 61 .loc 1 1421 3 is_stmt 1 view .LVU13 62 .loc 1 1421 9 is_stmt 0 view .LVU14 ARM GAS /tmp/cc5wsx2R.s page 27 63 001a 0A23 movs r3, #10 64 001c 0193 str r3, [sp, #4] 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* few cycles before setting core reset */ 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** while (count > 0U) 65 .loc 1 1424 3 is_stmt 1 view .LVU15 66 .loc 1 1424 9 is_stmt 0 view .LVU16 67 001e 02E0 b .L4 68 .L5: 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count--; 69 .loc 1 1426 5 is_stmt 1 view .LVU17 70 .loc 1 1426 10 is_stmt 0 view .LVU18 71 0020 019B ldr r3, [sp, #4] 72 0022 013B subs r3, r3, #1 73 0024 0193 str r3, [sp, #4] 74 .L4: 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 75 .loc 1 1424 16 is_stmt 1 view .LVU19 76 0026 019B ldr r3, [sp, #4] 77 0028 002B cmp r3, #0 78 002a F9D1 bne .L5 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Core Soft Reset */ 1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GRSTCTL |= USB_OTG_GRSTCTL_CSRST; 79 .loc 1 1430 3 view .LVU20 80 .loc 1 1430 7 is_stmt 0 view .LVU21 81 002c 0369 ldr r3, [r0, #16] 82 .loc 1 1430 17 view .LVU22 83 002e 43F00103 orr r3, r3, #1 84 0032 0361 str r3, [r0, #16] 85 .L6: 1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 86 .loc 1 1432 3 is_stmt 1 view .LVU23 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count++; 87 .loc 1 1434 5 view .LVU24 88 .loc 1 1434 10 is_stmt 0 view .LVU25 89 0034 019B ldr r3, [sp, #4] 90 0036 0133 adds r3, r3, #1 91 0038 0193 str r3, [sp, #4] 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (count > HAL_USB_TIMEOUT) 92 .loc 1 1436 5 is_stmt 1 view .LVU26 93 .loc 1 1436 15 is_stmt 0 view .LVU27 94 003a 019B ldr r3, [sp, #4] 95 .loc 1 1436 8 view .LVU28 96 003c B3F1706F cmp r3, #251658240 97 0040 08D8 bhi .L8 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_TIMEOUT; 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST); 98 .loc 1 1440 52 is_stmt 1 view .LVU29 99 .loc 1 1440 17 is_stmt 0 view .LVU30 ARM GAS /tmp/cc5wsx2R.s page 28 100 0042 0369 ldr r3, [r0, #16] 101 .loc 1 1440 52 view .LVU31 102 0044 13F0010F tst r3, #1 103 0048 F4D1 bne .L6 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 104 .loc 1 1442 10 view .LVU32 105 004a 0020 movs r0, #0 106 .LVL1: 107 .loc 1 1442 10 view .LVU33 108 004c 00E0 b .L2 109 .LVL2: 110 .L7: 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 111 .loc 1 1417 14 view .LVU34 112 004e 0320 movs r0, #3 113 .LVL3: 114 .L2: 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 115 .loc 1 1443 1 view .LVU35 116 0050 02B0 add sp, sp, #8 117 .LCFI1: 118 .cfi_remember_state 119 .cfi_def_cfa_offset 0 120 @ sp needed 121 0052 7047 bx lr 122 .LVL4: 123 .L8: 124 .LCFI2: 125 .cfi_restore_state 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 126 .loc 1 1438 14 view .LVU36 127 0054 0320 movs r0, #3 128 .LVL5: 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 129 .loc 1 1438 14 view .LVU37 130 0056 FBE7 b .L2 131 .cfi_endproc 132 .LFE273: 134 .section .text.USB_CoreInit,"ax",%progbits 135 .align 1 136 .global USB_CoreInit 137 .syntax unified 138 .thumb 139 .thumb_func 141 USB_CoreInit: 142 .LVL6: 143 .LFB239: 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret; 144 .loc 1 84 1 is_stmt 1 view -0 145 .cfi_startproc 146 @ args = 20, pretend = 16, frame = 0 147 @ frame_needed = 0, uses_anonymous_args = 0 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret; 148 .loc 1 84 1 is_stmt 0 view .LVU39 149 0000 84B0 sub sp, sp, #16 150 .LCFI3: ARM GAS /tmp/cc5wsx2R.s page 29 151 .cfi_def_cfa_offset 16 152 0002 10B5 push {r4, lr} 153 .LCFI4: 154 .cfi_def_cfa_offset 24 155 .cfi_offset 4, -24 156 .cfi_offset 14, -20 157 0004 0446 mov r4, r0 158 0006 03A8 add r0, sp, #12 159 .LVL7: 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret; 160 .loc 1 84 1 view .LVU40 161 0008 80E80E00 stm r0, {r1, r2, r3} 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.phy_itface == USB_OTG_ULPI_PHY) 162 .loc 1 85 3 is_stmt 1 view .LVU41 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 163 .loc 1 86 3 view .LVU42 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 164 .loc 1 86 10 is_stmt 0 view .LVU43 165 000c 9DF81130 ldrb r3, [sp, #17] @ zero_extendqisi2 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 166 .loc 1 86 6 view .LVU44 167 0010 012B cmp r3, #1 168 0012 21D1 bne .L11 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 169 .loc 1 88 5 is_stmt 1 view .LVU45 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 170 .loc 1 88 9 is_stmt 0 view .LVU46 171 0014 A36B ldr r3, [r4, #56] 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 172 .loc 1 88 17 view .LVU47 173 0016 23F48033 bic r3, r3, #65536 174 001a A363 str r3, [r4, #56] 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 175 .loc 1 91 5 is_stmt 1 view .LVU48 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 176 .loc 1 91 9 is_stmt 0 view .LVU49 177 001c E368 ldr r3, [r4, #12] 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 178 .loc 1 91 19 view .LVU50 179 001e 23F48403 bic r3, r3, #4325376 180 0022 23F04003 bic r3, r3, #64 181 0026 E360 str r3, [r4, #12] 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.use_external_vbus == 1U) 182 .loc 1 94 5 is_stmt 1 view .LVU51 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.use_external_vbus == 1U) 183 .loc 1 94 9 is_stmt 0 view .LVU52 184 0028 E368 ldr r3, [r4, #12] 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.use_external_vbus == 1U) 185 .loc 1 94 19 view .LVU53 186 002a 23F44013 bic r3, r3, #3145728 187 002e E360 str r3, [r4, #12] 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 188 .loc 1 95 5 is_stmt 1 view .LVU54 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 189 .loc 1 95 12 is_stmt 0 view .LVU55 190 0030 9DF81830 ldrb r3, [sp, #24] @ zero_extendqisi2 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 30 191 .loc 1 95 8 view .LVU56 192 0034 012B cmp r3, #1 193 0036 0AD0 beq .L17 194 .L12: 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 195 .loc 1 101 5 is_stmt 1 view .LVU57 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 196 .loc 1 101 11 is_stmt 0 view .LVU58 197 0038 2046 mov r0, r4 198 003a FFF7FEFF bl USB_CoreReset 199 .LVL8: 200 .L13: 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 201 .loc 1 123 3 is_stmt 1 view .LVU59 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 202 .loc 1 123 10 is_stmt 0 view .LVU60 203 003e 9DF80E30 ldrb r3, [sp, #14] @ zero_extendqisi2 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 204 .loc 1 123 6 view .LVU61 205 0042 012B cmp r3, #1 206 0044 1CD0 beq .L18 207 .L15: 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 208 .loc 1 129 3 is_stmt 1 view .LVU62 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 209 .loc 1 130 1 is_stmt 0 view .LVU63 210 0046 BDE81040 pop {r4, lr} 211 .LCFI5: 212 .cfi_remember_state 213 .cfi_restore 14 214 .cfi_restore 4 215 .cfi_def_cfa_offset 16 216 .LVL9: 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 217 .loc 1 130 1 view .LVU64 218 004a 04B0 add sp, sp, #16 219 .LCFI6: 220 .cfi_def_cfa_offset 0 221 004c 7047 bx lr 222 .LVL10: 223 .L17: 224 .LCFI7: 225 .cfi_restore_state 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 226 .loc 1 97 7 is_stmt 1 view .LVU65 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 227 .loc 1 97 11 is_stmt 0 view .LVU66 228 004e E368 ldr r3, [r4, #12] 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 229 .loc 1 97 21 view .LVU67 230 0050 43F48013 orr r3, r3, #1048576 231 0054 E360 str r3, [r4, #12] 232 0056 EFE7 b .L12 233 .L11: 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 234 .loc 1 106 5 is_stmt 1 view .LVU68 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/cc5wsx2R.s page 31 235 .loc 1 106 9 is_stmt 0 view .LVU69 236 0058 E368 ldr r3, [r4, #12] 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 237 .loc 1 106 19 view .LVU70 238 005a 43F04003 orr r3, r3, #64 239 005e E360 str r3, [r4, #12] 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 240 .loc 1 109 5 is_stmt 1 view .LVU71 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 241 .loc 1 109 11 is_stmt 0 view .LVU72 242 0060 2046 mov r0, r4 243 0062 FFF7FEFF bl USB_CoreReset 244 .LVL11: 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 245 .loc 1 111 5 is_stmt 1 view .LVU73 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 246 .loc 1 111 12 is_stmt 0 view .LVU74 247 0066 9DF81530 ldrb r3, [sp, #21] @ zero_extendqisi2 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 248 .loc 1 111 8 view .LVU75 249 006a 23B9 cbnz r3, .L14 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 250 .loc 1 114 7 is_stmt 1 view .LVU76 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 251 .loc 1 114 11 is_stmt 0 view .LVU77 252 006c A36B ldr r3, [r4, #56] 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 253 .loc 1 114 19 view .LVU78 254 006e 43F48033 orr r3, r3, #65536 255 0072 A363 str r3, [r4, #56] 256 0074 E3E7 b .L13 257 .L14: 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 258 .loc 1 119 7 is_stmt 1 view .LVU79 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 259 .loc 1 119 11 is_stmt 0 view .LVU80 260 0076 A36B ldr r3, [r4, #56] 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 261 .loc 1 119 19 view .LVU81 262 0078 23F48033 bic r3, r3, #65536 263 007c A363 str r3, [r4, #56] 264 007e DEE7 b .L13 265 .L18: 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; 266 .loc 1 125 5 is_stmt 1 view .LVU82 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; 267 .loc 1 125 9 is_stmt 0 view .LVU83 268 0080 A368 ldr r3, [r4, #8] 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; 269 .loc 1 125 19 view .LVU84 270 0082 43F00603 orr r3, r3, #6 271 0086 A360 str r3, [r4, #8] 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 272 .loc 1 126 5 is_stmt 1 view .LVU85 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 273 .loc 1 126 9 is_stmt 0 view .LVU86 274 0088 A368 ldr r3, [r4, #8] ARM GAS /tmp/cc5wsx2R.s page 32 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 275 .loc 1 126 19 view .LVU87 276 008a 43F02003 orr r3, r3, #32 277 008e A360 str r3, [r4, #8] 278 0090 D9E7 b .L15 279 .cfi_endproc 280 .LFE239: 282 .section .text.USB_SetTurnaroundTime,"ax",%progbits 283 .align 1 284 .global USB_SetTurnaroundTime 285 .syntax unified 286 .thumb 287 .thumb_func 289 USB_SetTurnaroundTime: 290 .LVL12: 291 .LFB240: 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t UsbTrd; 292 .loc 1 141 1 is_stmt 1 view -0 293 .cfi_startproc 294 @ args = 0, pretend = 0, frame = 0 295 @ frame_needed = 0, uses_anonymous_args = 0 296 @ link register save eliminated. 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 297 .loc 1 142 3 view .LVU89 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 298 .loc 1 148 3 view .LVU90 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 299 .loc 1 148 6 is_stmt 0 view .LVU91 300 0000 022A cmp r2, #2 301 0002 0AD0 beq .L31 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 302 .loc 1 203 12 view .LVU92 303 0004 0922 movs r2, #9 304 .LVL13: 305 .L20: 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= (uint32_t)((UsbTrd << 10) & USB_OTG_GUSBCFG_TRDT); 306 .loc 1 210 3 is_stmt 1 view .LVU93 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= (uint32_t)((UsbTrd << 10) & USB_OTG_GUSBCFG_TRDT); 307 .loc 1 210 7 is_stmt 0 view .LVU94 308 0006 C368 ldr r3, [r0, #12] 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= (uint32_t)((UsbTrd << 10) & USB_OTG_GUSBCFG_TRDT); 309 .loc 1 210 17 view .LVU95 310 0008 23F47053 bic r3, r3, #15360 311 000c C360 str r3, [r0, #12] 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 312 .loc 1 211 3 is_stmt 1 view .LVU96 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 313 .loc 1 211 7 is_stmt 0 view .LVU97 314 000e C368 ldr r3, [r0, #12] 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 315 .loc 1 211 17 view .LVU98 316 0010 43EA8223 orr r3, r3, r2, lsl #10 317 0014 C360 str r3, [r0, #12] 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 318 .loc 1 213 3 is_stmt 1 view .LVU99 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 319 .loc 1 214 1 is_stmt 0 view .LVU100 ARM GAS /tmp/cc5wsx2R.s page 33 320 0016 0020 movs r0, #0 321 .LVL14: 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 322 .loc 1 214 1 view .LVU101 323 0018 7047 bx lr 324 .LVL15: 325 .L31: 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 326 .loc 1 150 5 is_stmt 1 view .LVU102 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 327 .loc 1 150 29 is_stmt 0 view .LVU103 328 001a 234B ldr r3, .L32 329 001c 0B44 add r3, r3, r1 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 330 .loc 1 150 8 view .LVU104 331 001e 234A ldr r2, .L32+4 332 .LVL16: 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 333 .loc 1 150 8 view .LVU105 334 0020 9342 cmp r3, r2 335 0022 2FD9 bls .L22 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 336 .loc 1 155 10 is_stmt 1 view .LVU106 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 337 .loc 1 155 34 is_stmt 0 view .LVU107 338 0024 224B ldr r3, .L32+8 339 0026 0B44 add r3, r3, r1 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 340 .loc 1 155 13 view .LVU108 341 0028 224A ldr r2, .L32+12 342 002a 9342 cmp r3, r2 343 002c 2CD9 bls .L23 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 344 .loc 1 160 10 is_stmt 1 view .LVU109 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 345 .loc 1 160 34 is_stmt 0 view .LVU110 346 002e A1F57403 sub r3, r1, #15990784 347 0032 A3F51053 sub r3, r3, #9216 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 348 .loc 1 160 13 view .LVU111 349 0036 204A ldr r2, .L32+16 350 0038 9342 cmp r3, r2 351 003a 27D9 bls .L24 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 352 .loc 1 165 10 is_stmt 1 view .LVU112 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 353 .loc 1 165 34 is_stmt 0 view .LVU113 354 003c A1F18373 sub r3, r1, #17170432 355 0040 A3F5E743 sub r3, r3, #29568 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 356 .loc 1 165 13 view .LVU114 357 0044 1D4A ldr r2, .L32+20 358 0046 9342 cmp r3, r2 359 0048 22D3 bcc .L25 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 360 .loc 1 170 10 is_stmt 1 view .LVU115 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 34 361 .loc 1 170 34 is_stmt 0 view .LVU116 362 004a 1D4B ldr r3, .L32+24 363 004c 0B44 add r3, r3, r1 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 364 .loc 1 170 13 view .LVU117 365 004e 1D4A ldr r2, .L32+28 366 0050 9342 cmp r3, r2 367 0052 1FD9 bls .L26 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 368 .loc 1 175 10 is_stmt 1 view .LVU118 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 369 .loc 1 175 34 is_stmt 0 view .LVU119 370 0054 1C4B ldr r3, .L32+32 371 0056 0B44 add r3, r3, r1 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 372 .loc 1 175 13 view .LVU120 373 0058 1C4A ldr r2, .L32+36 374 005a 9342 cmp r3, r2 375 005c 1CD3 bcc .L27 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 376 .loc 1 180 10 is_stmt 1 view .LVU121 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 377 .loc 1 180 34 is_stmt 0 view .LVU122 378 005e 1C4B ldr r3, .L32+40 379 0060 0B44 add r3, r3, r1 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 380 .loc 1 180 13 view .LVU123 381 0062 1C4A ldr r2, .L32+44 382 0064 9342 cmp r3, r2 383 0066 19D3 bcc .L28 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 384 .loc 1 185 10 is_stmt 1 view .LVU124 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 385 .loc 1 185 34 is_stmt 0 view .LVU125 386 0068 A1F1B773 sub r3, r1, #23986176 387 006c A3F55853 sub r3, r3, #13824 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 388 .loc 1 185 13 view .LVU126 389 0070 194A ldr r2, .L32+48 390 0072 9342 cmp r3, r2 391 0074 14D3 bcc .L29 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 392 .loc 1 190 10 is_stmt 1 view .LVU127 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 393 .loc 1 190 34 is_stmt 0 view .LVU128 394 0076 194B ldr r3, .L32+52 395 0078 0B44 add r3, r3, r1 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 396 .loc 1 190 13 view .LVU129 397 007a 194A ldr r2, .L32+56 398 007c 9342 cmp r3, r2 399 007e 11D2 bcs .L30 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 400 .loc 1 193 14 view .LVU130 401 0080 0722 movs r2, #7 402 0082 C0E7 b .L20 403 .L22: ARM GAS /tmp/cc5wsx2R.s page 35 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 404 .loc 1 153 14 view .LVU131 405 0084 0F22 movs r2, #15 406 0086 BEE7 b .L20 407 .L23: 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 408 .loc 1 158 14 view .LVU132 409 0088 0E22 movs r2, #14 410 008a BCE7 b .L20 411 .L24: 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 412 .loc 1 163 14 view .LVU133 413 008c 0D22 movs r2, #13 414 008e BAE7 b .L20 415 .L25: 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 416 .loc 1 168 14 view .LVU134 417 0090 0C22 movs r2, #12 418 0092 B8E7 b .L20 419 .L26: 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 420 .loc 1 173 14 view .LVU135 421 0094 0B22 movs r2, #11 422 0096 B6E7 b .L20 423 .L27: 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 424 .loc 1 178 14 view .LVU136 425 0098 0A22 movs r2, #10 426 009a B4E7 b .L20 427 .L28: 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 428 .loc 1 183 14 view .LVU137 429 009c 0922 movs r2, #9 430 009e B2E7 b .L20 431 .L29: 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 432 .loc 1 188 14 view .LVU138 433 00a0 0822 movs r2, #8 434 00a2 B0E7 b .L20 435 .L30: 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 436 .loc 1 198 14 view .LVU139 437 00a4 0622 movs r2, #6 438 00a6 AEE7 b .L20 439 .L33: 440 .align 2 441 .L32: 442 00a8 405327FF .word -14200000 443 00ac FF340C00 .word 799999 444 00b0 401E1BFF .word -15000000 445 00b4 3F420F00 .word 999999 446 00b8 7F4F1200 .word 1199999 447 00bc 20D61300 .word 1300000 448 00c0 60B6E5FE .word -18500000 449 00c4 5FE31600 .word 1499999 450 00c8 00D3CEFE .word -20000000 451 00cc 40771B00 .word 1800000 ARM GAS /tmp/cc5wsx2R.s page 36 452 00d0 C05BB3FE .word -21800000 453 00d4 C0912100 .word 2200000 454 00d8 20753800 .word 3700000 455 00dc E05459FE .word -27700000 456 00e0 E09C4100 .word 4300000 457 .cfi_endproc 458 .LFE240: 460 .section .text.USB_EnableGlobalInt,"ax",%progbits 461 .align 1 462 .global USB_EnableGlobalInt 463 .syntax unified 464 .thumb 465 .thumb_func 467 USB_EnableGlobalInt: 468 .LVL17: 469 .LFB241: 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_GINT; 470 .loc 1 223 1 is_stmt 1 view -0 471 .cfi_startproc 472 @ args = 0, pretend = 0, frame = 0 473 @ frame_needed = 0, uses_anonymous_args = 0 474 @ link register save eliminated. 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 475 .loc 1 224 3 view .LVU141 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 476 .loc 1 224 7 is_stmt 0 view .LVU142 477 0000 8368 ldr r3, [r0, #8] 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 478 .loc 1 224 17 view .LVU143 479 0002 43F00103 orr r3, r3, #1 480 0006 8360 str r3, [r0, #8] 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 481 .loc 1 225 3 is_stmt 1 view .LVU144 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 482 .loc 1 226 1 is_stmt 0 view .LVU145 483 0008 0020 movs r0, #0 484 .LVL18: 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 485 .loc 1 226 1 view .LVU146 486 000a 7047 bx lr 487 .cfi_endproc 488 .LFE241: 490 .section .text.USB_DisableGlobalInt,"ax",%progbits 491 .align 1 492 .global USB_DisableGlobalInt 493 .syntax unified 494 .thumb 495 .thumb_func 497 USB_DisableGlobalInt: 498 .LVL19: 499 .LFB242: 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG &= ~USB_OTG_GAHBCFG_GINT; 500 .loc 1 235 1 is_stmt 1 view -0 501 .cfi_startproc 502 @ args = 0, pretend = 0, frame = 0 503 @ frame_needed = 0, uses_anonymous_args = 0 504 @ link register save eliminated. ARM GAS /tmp/cc5wsx2R.s page 37 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 505 .loc 1 236 3 view .LVU148 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 506 .loc 1 236 7 is_stmt 0 view .LVU149 507 0000 8368 ldr r3, [r0, #8] 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 508 .loc 1 236 17 view .LVU150 509 0002 23F00103 bic r3, r3, #1 510 0006 8360 str r3, [r0, #8] 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 511 .loc 1 237 3 is_stmt 1 view .LVU151 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 512 .loc 1 238 1 is_stmt 0 view .LVU152 513 0008 0020 movs r0, #0 514 .LVL20: 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 515 .loc 1 238 1 view .LVU153 516 000a 7047 bx lr 517 .cfi_endproc 518 .LFE242: 520 .section .text.USB_FlushTxFifo,"ax",%progbits 521 .align 1 522 .global USB_FlushTxFifo 523 .syntax unified 524 .thumb 525 .thumb_func 527 USB_FlushTxFifo: 528 .LVL21: 529 .LFB245: 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 530 .loc 1 474 1 is_stmt 1 view -0 531 .cfi_startproc 532 @ args = 0, pretend = 0, frame = 8 533 @ frame_needed = 0, uses_anonymous_args = 0 534 @ link register save eliminated. 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 535 .loc 1 474 1 is_stmt 0 view .LVU155 536 0000 82B0 sub sp, sp, #8 537 .LCFI8: 538 .cfi_def_cfa_offset 8 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 539 .loc 1 475 3 is_stmt 1 view .LVU156 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 540 .loc 1 475 17 is_stmt 0 view .LVU157 541 0002 0023 movs r3, #0 542 0004 0193 str r3, [sp, #4] 543 .L38: 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 544 .loc 1 478 3 is_stmt 1 view .LVU158 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 545 .loc 1 480 5 view .LVU159 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 546 .loc 1 480 10 is_stmt 0 view .LVU160 547 0006 019B ldr r3, [sp, #4] 548 0008 0133 adds r3, r3, #1 549 000a 0193 str r3, [sp, #4] 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 38 550 .loc 1 482 5 is_stmt 1 view .LVU161 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 551 .loc 1 482 15 is_stmt 0 view .LVU162 552 000c 019B ldr r3, [sp, #4] 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 553 .loc 1 482 8 view .LVU163 554 000e B3F1706F cmp r3, #251658240 555 0012 15D8 bhi .L40 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 556 .loc 1 486 53 is_stmt 1 view .LVU164 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 557 .loc 1 486 17 is_stmt 0 view .LVU165 558 0014 0369 ldr r3, [r0, #16] 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 559 .loc 1 486 53 view .LVU166 560 0016 002B cmp r3, #0 561 0018 F5DA bge .L38 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GRSTCTL = (USB_OTG_GRSTCTL_TXFFLSH | (num << 6)); 562 .loc 1 489 3 is_stmt 1 view .LVU167 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GRSTCTL = (USB_OTG_GRSTCTL_TXFFLSH | (num << 6)); 563 .loc 1 489 9 is_stmt 0 view .LVU168 564 001a 0023 movs r3, #0 565 001c 0193 str r3, [sp, #4] 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 566 .loc 1 490 3 is_stmt 1 view .LVU169 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 567 .loc 1 490 51 is_stmt 0 view .LVU170 568 001e 8901 lsls r1, r1, #6 569 .LVL22: 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 570 .loc 1 490 44 view .LVU171 571 0020 41F02001 orr r1, r1, #32 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 572 .loc 1 490 17 view .LVU172 573 0024 0161 str r1, [r0, #16] 574 .L39: 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 575 .loc 1 492 3 is_stmt 1 view .LVU173 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 576 .loc 1 494 5 view .LVU174 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 577 .loc 1 494 10 is_stmt 0 view .LVU175 578 0026 019B ldr r3, [sp, #4] 579 0028 0133 adds r3, r3, #1 580 002a 0193 str r3, [sp, #4] 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 581 .loc 1 496 5 is_stmt 1 view .LVU176 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 582 .loc 1 496 15 is_stmt 0 view .LVU177 583 002c 019B ldr r3, [sp, #4] 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 584 .loc 1 496 8 view .LVU178 585 002e B3F1706F cmp r3, #251658240 586 0032 08D8 bhi .L41 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 587 .loc 1 500 54 is_stmt 1 view .LVU179 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/cc5wsx2R.s page 39 588 .loc 1 500 17 is_stmt 0 view .LVU180 589 0034 0369 ldr r3, [r0, #16] 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 590 .loc 1 500 54 view .LVU181 591 0036 13F0200F tst r3, #32 592 003a F4D1 bne .L39 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 593 .loc 1 502 10 view .LVU182 594 003c 0020 movs r0, #0 595 .LVL23: 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 596 .loc 1 502 10 view .LVU183 597 003e 00E0 b .L37 598 .LVL24: 599 .L40: 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 600 .loc 1 484 14 view .LVU184 601 0040 0320 movs r0, #3 602 .LVL25: 603 .L37: 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 604 .loc 1 503 1 view .LVU185 605 0042 02B0 add sp, sp, #8 606 .LCFI9: 607 .cfi_remember_state 608 .cfi_def_cfa_offset 0 609 @ sp needed 610 0044 7047 bx lr 611 .LVL26: 612 .L41: 613 .LCFI10: 614 .cfi_restore_state 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 615 .loc 1 498 14 view .LVU186 616 0046 0320 movs r0, #3 617 .LVL27: 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 618 .loc 1 498 14 view .LVU187 619 0048 FBE7 b .L37 620 .cfi_endproc 621 .LFE245: 623 .section .text.USB_FlushRxFifo,"ax",%progbits 624 .align 1 625 .global USB_FlushRxFifo 626 .syntax unified 627 .thumb 628 .thumb_func 630 USB_FlushRxFifo: 631 .LVL28: 632 .LFB246: 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 633 .loc 1 511 1 is_stmt 1 view -0 634 .cfi_startproc 635 @ args = 0, pretend = 0, frame = 8 636 @ frame_needed = 0, uses_anonymous_args = 0 637 @ link register save eliminated. 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; ARM GAS /tmp/cc5wsx2R.s page 40 638 .loc 1 511 1 is_stmt 0 view .LVU189 639 0000 82B0 sub sp, sp, #8 640 .LCFI11: 641 .cfi_def_cfa_offset 8 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 642 .loc 1 512 3 is_stmt 1 view .LVU190 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 643 .loc 1 512 17 is_stmt 0 view .LVU191 644 0002 0023 movs r3, #0 645 0004 0193 str r3, [sp, #4] 646 .L45: 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 647 .loc 1 515 3 is_stmt 1 view .LVU192 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 648 .loc 1 517 5 view .LVU193 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 649 .loc 1 517 10 is_stmt 0 view .LVU194 650 0006 019B ldr r3, [sp, #4] 651 0008 0133 adds r3, r3, #1 652 000a 0193 str r3, [sp, #4] 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 653 .loc 1 519 5 is_stmt 1 view .LVU195 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 654 .loc 1 519 15 is_stmt 0 view .LVU196 655 000c 019B ldr r3, [sp, #4] 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 656 .loc 1 519 8 view .LVU197 657 000e B3F1706F cmp r3, #251658240 658 0012 13D8 bhi .L47 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 659 .loc 1 523 53 is_stmt 1 view .LVU198 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 660 .loc 1 523 17 is_stmt 0 view .LVU199 661 0014 0369 ldr r3, [r0, #16] 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 662 .loc 1 523 53 view .LVU200 663 0016 002B cmp r3, #0 664 0018 F5DA bge .L45 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GRSTCTL = USB_OTG_GRSTCTL_RXFFLSH; 665 .loc 1 526 3 is_stmt 1 view .LVU201 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GRSTCTL = USB_OTG_GRSTCTL_RXFFLSH; 666 .loc 1 526 9 is_stmt 0 view .LVU202 667 001a 0023 movs r3, #0 668 001c 0193 str r3, [sp, #4] 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 669 .loc 1 527 3 is_stmt 1 view .LVU203 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 670 .loc 1 527 17 is_stmt 0 view .LVU204 671 001e 1023 movs r3, #16 672 0020 0361 str r3, [r0, #16] 673 .L46: 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 674 .loc 1 529 3 is_stmt 1 view .LVU205 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 675 .loc 1 531 5 view .LVU206 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 676 .loc 1 531 10 is_stmt 0 view .LVU207 ARM GAS /tmp/cc5wsx2R.s page 41 677 0022 019B ldr r3, [sp, #4] 678 0024 0133 adds r3, r3, #1 679 0026 0193 str r3, [sp, #4] 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 680 .loc 1 533 5 is_stmt 1 view .LVU208 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 681 .loc 1 533 15 is_stmt 0 view .LVU209 682 0028 019B ldr r3, [sp, #4] 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 683 .loc 1 533 8 view .LVU210 684 002a B3F1706F cmp r3, #251658240 685 002e 08D8 bhi .L48 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 686 .loc 1 537 54 is_stmt 1 view .LVU211 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 687 .loc 1 537 17 is_stmt 0 view .LVU212 688 0030 0369 ldr r3, [r0, #16] 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 689 .loc 1 537 54 view .LVU213 690 0032 13F0100F tst r3, #16 691 0036 F4D1 bne .L46 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 692 .loc 1 539 10 view .LVU214 693 0038 0020 movs r0, #0 694 .LVL29: 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 695 .loc 1 539 10 view .LVU215 696 003a 00E0 b .L44 697 .LVL30: 698 .L47: 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 699 .loc 1 521 14 view .LVU216 700 003c 0320 movs r0, #3 701 .LVL31: 702 .L44: 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 703 .loc 1 540 1 view .LVU217 704 003e 02B0 add sp, sp, #8 705 .LCFI12: 706 .cfi_remember_state 707 .cfi_def_cfa_offset 0 708 @ sp needed 709 0040 7047 bx lr 710 .LVL32: 711 .L48: 712 .LCFI13: 713 .cfi_restore_state 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 714 .loc 1 535 14 view .LVU218 715 0042 0320 movs r0, #3 716 .LVL33: 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 717 .loc 1 535 14 view .LVU219 718 0044 FBE7 b .L44 719 .cfi_endproc 720 .LFE246: 722 .section .text.USB_SetDevSpeed,"ax",%progbits ARM GAS /tmp/cc5wsx2R.s page 42 723 .align 1 724 .global USB_SetDevSpeed 725 .syntax unified 726 .thumb 727 .thumb_func 729 USB_SetDevSpeed: 730 .LVL34: 731 .LFB247: 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 732 .loc 1 554 1 is_stmt 1 view -0 733 .cfi_startproc 734 @ args = 0, pretend = 0, frame = 0 735 @ frame_needed = 0, uses_anonymous_args = 0 736 @ link register save eliminated. 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 737 .loc 1 555 3 view .LVU221 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 738 .loc 1 557 3 view .LVU222 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 739 .loc 1 557 14 is_stmt 0 view .LVU223 740 0000 D0F80038 ldr r3, [r0, #2048] 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 741 .loc 1 557 21 view .LVU224 742 0004 1943 orrs r1, r1, r3 743 .LVL35: 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 744 .loc 1 557 21 view .LVU225 745 0006 C0F80018 str r1, [r0, #2048] 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 746 .loc 1 558 3 is_stmt 1 view .LVU226 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 747 .loc 1 559 1 is_stmt 0 view .LVU227 748 000a 0020 movs r0, #0 749 .LVL36: 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 750 .loc 1 559 1 view .LVU228 751 000c 7047 bx lr 752 .cfi_endproc 753 .LFE247: 755 .section .text.USB_DevInit,"ax",%progbits 756 .align 1 757 .global USB_DevInit 758 .syntax unified 759 .thumb 760 .thumb_func 762 USB_DevInit: 763 .LVL37: 764 .LFB244: 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK; 765 .loc 1 297 1 is_stmt 1 view -0 766 .cfi_startproc 767 @ args = 20, pretend = 16, frame = 0 768 @ frame_needed = 0, uses_anonymous_args = 0 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK; 769 .loc 1 297 1 is_stmt 0 view .LVU230 770 0000 84B0 sub sp, sp, #16 771 .LCFI14: ARM GAS /tmp/cc5wsx2R.s page 43 772 .cfi_def_cfa_offset 16 773 0002 F8B5 push {r3, r4, r5, r6, r7, lr} 774 .LCFI15: 775 .cfi_def_cfa_offset 40 776 .cfi_offset 3, -40 777 .cfi_offset 4, -36 778 .cfi_offset 5, -32 779 .cfi_offset 6, -28 780 .cfi_offset 7, -24 781 .cfi_offset 14, -20 782 0004 0446 mov r4, r0 783 0006 07A8 add r0, sp, #28 784 .LVL38: 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK; 785 .loc 1 297 1 view .LVU231 786 0008 80E80E00 stm r0, {r1, r2, r3} 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 787 .loc 1 298 3 is_stmt 1 view .LVU232 788 .LVL39: 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 789 .loc 1 299 3 view .LVU233 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 790 .loc 1 300 3 view .LVU234 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 791 .loc 1 302 3 view .LVU235 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 792 .loc 1 302 10 is_stmt 0 view .LVU236 793 000c 0023 movs r3, #0 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 794 .loc 1 302 3 view .LVU237 795 000e 06E0 b .L52 796 .LVL40: 797 .L53: 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 798 .loc 1 304 5 is_stmt 1 view .LVU238 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 799 .loc 1 304 22 is_stmt 0 view .LVU239 800 0010 03F14002 add r2, r3, #64 801 0014 04EB8202 add r2, r4, r2, lsl #2 802 0018 0021 movs r1, #0 803 001a 5160 str r1, [r2, #4] 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 804 .loc 1 302 26 is_stmt 1 discriminator 3 view .LVU240 805 001c 0133 adds r3, r3, #1 806 .LVL41: 807 .L52: 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 808 .loc 1 302 18 discriminator 1 view .LVU241 809 001e 0E2B cmp r3, #14 810 0020 F6D9 bls .L53 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 811 .loc 1 329 3 view .LVU242 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 812 .loc 1 329 10 is_stmt 0 view .LVU243 813 0022 9DF82660 ldrb r6, [sp, #38] @ zero_extendqisi2 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 814 .loc 1 329 6 view .LVU244 ARM GAS /tmp/cc5wsx2R.s page 44 815 0026 06BB cbnz r6, .L54 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_NOVBUSSENS; 816 .loc 1 335 5 is_stmt 1 view .LVU245 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_NOVBUSSENS; 817 .loc 1 335 16 is_stmt 0 view .LVU246 818 0028 D4F80438 ldr r3, [r4, #2052] 819 .LVL42: 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_NOVBUSSENS; 820 .loc 1 335 23 view .LVU247 821 002c 43F00203 orr r3, r3, #2 822 0030 C4F80438 str r3, [r4, #2052] 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSBSEN; 823 .loc 1 336 5 is_stmt 1 view .LVU248 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSBSEN; 824 .loc 1 336 9 is_stmt 0 view .LVU249 825 0034 A36B ldr r3, [r4, #56] 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSBSEN; 826 .loc 1 336 17 view .LVU250 827 0036 43F40013 orr r3, r3, #2097152 828 003a A363 str r3, [r4, #56] 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSASEN; 829 .loc 1 337 5 is_stmt 1 view .LVU251 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSASEN; 830 .loc 1 337 9 is_stmt 0 view .LVU252 831 003c A36B ldr r3, [r4, #56] 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSASEN; 832 .loc 1 337 17 view .LVU253 833 003e 23F40023 bic r3, r3, #524288 834 0042 A363 str r3, [r4, #56] 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 835 .loc 1 338 5 is_stmt 1 view .LVU254 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 836 .loc 1 338 9 is_stmt 0 view .LVU255 837 0044 A36B ldr r3, [r4, #56] 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 838 .loc 1 338 17 view .LVU256 839 0046 23F48023 bic r3, r3, #262144 840 004a A363 str r3, [r4, #56] 841 .L55: 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 842 .loc 1 351 3 is_stmt 1 view .LVU257 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 843 .loc 1 351 16 is_stmt 0 view .LVU258 844 004c 0023 movs r3, #0 845 004e C4F8003E str r3, [r4, #3584] 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 846 .loc 1 353 3 is_stmt 1 view .LVU259 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 847 .loc 1 353 10 is_stmt 0 view .LVU260 848 0052 9DF82130 ldrb r3, [sp, #33] @ zero_extendqisi2 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 849 .loc 1 353 6 view .LVU261 850 0056 012B cmp r3, #1 851 0058 15D1 bne .L56 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 852 .loc 1 355 5 is_stmt 1 view .LVU262 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 45 853 .loc 1 355 12 is_stmt 0 view .LVU263 854 005a 9DF81F30 ldrb r3, [sp, #31] @ zero_extendqisi2 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 855 .loc 1 355 8 view .LVU264 856 005e 6BB9 cbnz r3, .L57 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 857 .loc 1 358 7 is_stmt 1 view .LVU265 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 858 .loc 1 358 13 is_stmt 0 view .LVU266 859 0060 0021 movs r1, #0 860 0062 2046 mov r0, r4 861 0064 FFF7FEFF bl USB_SetDevSpeed 862 .LVL43: 863 0068 11E0 b .L58 864 .LVL44: 865 .L54: 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_VBUSBSEN; 866 .loc 1 343 5 is_stmt 1 view .LVU267 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_VBUSBSEN; 867 .loc 1 343 9 is_stmt 0 view .LVU268 868 006a A36B ldr r3, [r4, #56] 869 .LVL45: 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_VBUSBSEN; 870 .loc 1 343 17 view .LVU269 871 006c 23F40013 bic r3, r3, #2097152 872 0070 A363 str r3, [r4, #56] 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 873 .loc 1 344 5 is_stmt 1 view .LVU270 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 874 .loc 1 344 9 is_stmt 0 view .LVU271 875 0072 A36B ldr r3, [r4, #56] 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 876 .loc 1 344 17 view .LVU272 877 0074 43F40023 orr r3, r3, #524288 878 0078 A363 str r3, [r4, #56] 879 007a E7E7 b .L55 880 .L57: 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 881 .loc 1 363 7 is_stmt 1 view .LVU273 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 882 .loc 1 363 13 is_stmt 0 view .LVU274 883 007c 0121 movs r1, #1 884 007e 2046 mov r0, r4 885 0080 FFF7FEFF bl USB_SetDevSpeed 886 .LVL46: 887 0084 03E0 b .L58 888 .L56: 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 889 .loc 1 369 5 is_stmt 1 view .LVU275 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 890 .loc 1 369 11 is_stmt 0 view .LVU276 891 0086 0321 movs r1, #3 892 0088 2046 mov r0, r4 893 008a FFF7FEFF bl USB_SetDevSpeed 894 .LVL47: 895 .L58: 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 46 896 .loc 1 373 3 is_stmt 1 view .LVU277 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 897 .loc 1 373 7 is_stmt 0 view .LVU278 898 008e 1021 movs r1, #16 899 0090 2046 mov r0, r4 900 0092 FFF7FEFF bl USB_FlushTxFifo 901 .LVL48: 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 902 .loc 1 373 6 discriminator 1 view .LVU279 903 0096 0546 mov r5, r0 904 0098 00B1 cbz r0, .L59 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 905 .loc 1 375 9 view .LVU280 906 009a 0125 movs r5, #1 907 .L59: 908 .LVL49: 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 909 .loc 1 378 3 is_stmt 1 view .LVU281 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 910 .loc 1 378 7 is_stmt 0 view .LVU282 911 009c 2046 mov r0, r4 912 009e FFF7FEFF bl USB_FlushRxFifo 913 .LVL50: 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 914 .loc 1 378 6 discriminator 1 view .LVU283 915 00a2 00B1 cbz r0, .L60 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 916 .loc 1 380 9 view .LVU284 917 00a4 0125 movs r5, #1 918 .LVL51: 919 .L60: 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 920 .loc 1 384 3 is_stmt 1 view .LVU285 921 00a6 04F5006C add ip, r4, #2048 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 922 .loc 1 384 24 is_stmt 0 view .LVU286 923 00aa 0023 movs r3, #0 924 00ac CCF81030 str r3, [ip, #16] 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK = 0U; 925 .loc 1 385 3 is_stmt 1 view .LVU287 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK = 0U; 926 .loc 1 385 24 is_stmt 0 view .LVU288 927 00b0 CCF81430 str r3, [ip, #20] 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 928 .loc 1 386 3 is_stmt 1 view .LVU289 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 929 .loc 1 386 25 is_stmt 0 view .LVU290 930 00b4 CCF81C30 str r3, [ip, #28] 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 931 .loc 1 388 3 is_stmt 1 view .LVU291 932 .LVL52: 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 933 .loc 1 388 3 is_stmt 0 view .LVU292 934 00b8 0AE0 b .L61 935 .LVL53: 936 .L78: 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 47 937 .loc 1 392 7 is_stmt 1 view .LVU293 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 938 .loc 1 392 10 is_stmt 0 view .LVU294 939 00ba CBB9 cbnz r3, .L63 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 940 .loc 1 394 9 is_stmt 1 view .LVU295 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 941 .loc 1 394 31 is_stmt 0 view .LVU296 942 00bc 4FF00060 mov r0, #134217728 943 00c0 C2F80009 str r0, [r2, #2304] 944 .L64: 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPINT = 0xFB7FU; 945 .loc 1 406 5 is_stmt 1 view .LVU297 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPINT = 0xFB7FU; 946 .loc 1 406 28 is_stmt 0 view .LVU298 947 00c4 0022 movs r2, #0 948 00c6 0A61 str r2, [r1, #16] 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 949 .loc 1 407 5 is_stmt 1 view .LVU299 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 950 .loc 1 407 28 is_stmt 0 view .LVU300 951 00c8 4FF67F32 movw r2, #64383 952 00cc 8A60 str r2, [r1, #8] 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 953 .loc 1 388 40 is_stmt 1 discriminator 2 view .LVU301 954 00ce 0133 adds r3, r3, #1 955 .LVL54: 956 .L61: 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 957 .loc 1 388 18 discriminator 1 view .LVU302 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 958 .loc 1 388 23 is_stmt 0 discriminator 1 view .LVU303 959 00d0 9DF81C10 ldrb r1, [sp, #28] @ zero_extendqisi2 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 960 .loc 1 388 18 discriminator 1 view .LVU304 961 00d4 9942 cmp r1, r3 962 00d6 10D9 bls .L77 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 963 .loc 1 390 5 is_stmt 1 view .LVU305 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 964 .loc 1 390 10 is_stmt 0 view .LVU306 965 00d8 04EB4312 add r2, r4, r3, lsl #5 966 00dc 02F51061 add r1, r2, #2304 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 967 .loc 1 390 22 view .LVU307 968 00e0 D2F80009 ldr r0, [r2, #2304] 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 969 .loc 1 390 8 view .LVU308 970 00e4 0028 cmp r0, #0 971 00e6 E8DB blt .L78 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 972 .loc 1 403 7 is_stmt 1 view .LVU309 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 973 .loc 1 403 29 is_stmt 0 view .LVU310 974 00e8 0020 movs r0, #0 975 00ea C2F80009 str r0, [r2, #2304] 976 00ee E9E7 b .L64 ARM GAS /tmp/cc5wsx2R.s page 48 977 .L63: 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 978 .loc 1 398 9 is_stmt 1 view .LVU311 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 979 .loc 1 398 31 is_stmt 0 view .LVU312 980 00f0 4FF09040 mov r0, #1207959552 981 00f4 C2F80009 str r0, [r2, #2304] 982 00f8 E4E7 b .L64 983 .L77: 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 984 .loc 1 410 10 view .LVU313 985 00fa 0023 movs r3, #0 986 .LVL55: 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 987 .loc 1 410 10 view .LVU314 988 00fc 0AE0 b .L66 989 .LVL56: 990 .L81: 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 991 .loc 1 414 7 is_stmt 1 view .LVU315 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 992 .loc 1 414 10 is_stmt 0 view .LVU316 993 00fe BBB1 cbz r3, .L79 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 994 .loc 1 420 9 is_stmt 1 view .LVU317 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 995 .loc 1 420 32 is_stmt 0 view .LVU318 996 0100 4FF09047 mov r7, #1207959552 997 0104 C2F8007B str r7, [r2, #2816] 998 .L69: 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 999 .loc 1 428 5 is_stmt 1 view .LVU319 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 1000 .loc 1 428 29 is_stmt 0 view .LVU320 1001 0108 0022 movs r2, #0 1002 010a 0261 str r2, [r0, #16] 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1003 .loc 1 429 5 is_stmt 1 view .LVU321 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1004 .loc 1 429 29 is_stmt 0 view .LVU322 1005 010c 4FF67F32 movw r2, #64383 1006 0110 8260 str r2, [r0, #8] 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1007 .loc 1 410 40 is_stmt 1 discriminator 2 view .LVU323 1008 0112 0133 adds r3, r3, #1 1009 .LVL57: 1010 .L66: 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1011 .loc 1 410 18 discriminator 1 view .LVU324 1012 0114 9942 cmp r1, r3 1013 0116 10D9 bls .L80 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1014 .loc 1 412 5 view .LVU325 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1015 .loc 1 412 10 is_stmt 0 view .LVU326 1016 0118 04EB4312 add r2, r4, r3, lsl #5 1017 011c 02F53060 add r0, r2, #2816 ARM GAS /tmp/cc5wsx2R.s page 49 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1018 .loc 1 412 23 view .LVU327 1019 0120 D2F8007B ldr r7, [r2, #2816] 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1020 .loc 1 412 8 view .LVU328 1021 0124 002F cmp r7, #0 1022 0126 EADB blt .L81 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1023 .loc 1 425 7 is_stmt 1 view .LVU329 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1024 .loc 1 425 30 is_stmt 0 view .LVU330 1025 0128 0027 movs r7, #0 1026 012a C2F8007B str r7, [r2, #2816] 1027 012e EBE7 b .L69 1028 .L79: 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1029 .loc 1 416 9 is_stmt 1 view .LVU331 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1030 .loc 1 416 32 is_stmt 0 view .LVU332 1031 0130 4FF00067 mov r7, #134217728 1032 0134 C2F8007B str r7, [r2, #2816] 1033 0138 E6E7 b .L69 1034 .L80: 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1035 .loc 1 432 3 is_stmt 1 view .LVU333 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1036 .loc 1 432 14 is_stmt 0 view .LVU334 1037 013a DCF81030 ldr r3, [ip, #16] 1038 .LVL58: 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1039 .loc 1 432 24 view .LVU335 1040 013e 23F48073 bic r3, r3, #256 1041 0142 CCF81030 str r3, [ip, #16] 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1042 .loc 1 435 3 is_stmt 1 view .LVU336 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1043 .loc 1 435 17 is_stmt 0 view .LVU337 1044 0146 0023 movs r3, #0 1045 0148 A361 str r3, [r4, #24] 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1046 .loc 1 438 3 is_stmt 1 view .LVU338 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1047 .loc 1 438 17 is_stmt 0 view .LVU339 1048 014a 6FF08043 mvn r3, #1073741824 1049 014e 6361 str r3, [r4, #20] 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1050 .loc 1 441 3 is_stmt 1 view .LVU340 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1051 .loc 1 441 10 is_stmt 0 view .LVU341 1052 0150 9DF81E30 ldrb r3, [sp, #30] @ zero_extendqisi2 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1053 .loc 1 441 6 view .LVU342 1054 0154 1BB9 cbnz r3, .L71 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1055 .loc 1 443 5 is_stmt 1 view .LVU343 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1056 .loc 1 443 9 is_stmt 0 view .LVU344 ARM GAS /tmp/cc5wsx2R.s page 50 1057 0156 A369 ldr r3, [r4, #24] 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1058 .loc 1 443 19 view .LVU345 1059 0158 43F01003 orr r3, r3, #16 1060 015c A361 str r3, [r4, #24] 1061 .L71: 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_ENUMDNEM | USB_OTG_GINTMSK_IEPINT | 1062 .loc 1 447 3 is_stmt 1 view .LVU346 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_ENUMDNEM | USB_OTG_GINTMSK_IEPINT | 1063 .loc 1 447 7 is_stmt 0 view .LVU347 1064 015e A269 ldr r2, [r4, #24] 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_ENUMDNEM | USB_OTG_GINTMSK_IEPINT | 1065 .loc 1 447 17 view .LVU348 1066 0160 0B4B ldr r3, .L83 1067 0162 1343 orrs r3, r3, r2 1068 0164 A361 str r3, [r4, #24] 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1069 .loc 1 452 3 is_stmt 1 view .LVU349 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1070 .loc 1 452 10 is_stmt 0 view .LVU350 1071 0166 9DF82230 ldrb r3, [sp, #34] @ zero_extendqisi2 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1072 .loc 1 452 6 view .LVU351 1073 016a 1BB1 cbz r3, .L72 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1074 .loc 1 454 5 is_stmt 1 view .LVU352 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1075 .loc 1 454 9 is_stmt 0 view .LVU353 1076 016c A369 ldr r3, [r4, #24] 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1077 .loc 1 454 19 view .LVU354 1078 016e 43F00803 orr r3, r3, #8 1079 0172 A361 str r3, [r4, #24] 1080 .L72: 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1081 .loc 1 457 3 is_stmt 1 view .LVU355 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1082 .loc 1 457 6 is_stmt 0 view .LVU356 1083 0174 012E cmp r6, #1 1084 0176 04D0 beq .L82 1085 .L73: 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1086 .loc 1 462 3 is_stmt 1 view .LVU357 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1087 .loc 1 463 1 is_stmt 0 view .LVU358 1088 0178 2846 mov r0, r5 1089 017a BDE8F840 pop {r3, r4, r5, r6, r7, lr} 1090 .LCFI16: 1091 .cfi_remember_state 1092 .cfi_restore 14 1093 .cfi_restore 7 1094 .cfi_restore 6 1095 .cfi_restore 5 1096 .cfi_restore 4 1097 .cfi_restore 3 1098 .cfi_def_cfa_offset 16 1099 .LVL59: ARM GAS /tmp/cc5wsx2R.s page 51 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1100 .loc 1 463 1 view .LVU359 1101 017e 04B0 add sp, sp, #16 1102 .LCFI17: 1103 .cfi_def_cfa_offset 0 1104 0180 7047 bx lr 1105 .LVL60: 1106 .L82: 1107 .LCFI18: 1108 .cfi_restore_state 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1109 .loc 1 459 5 is_stmt 1 view .LVU360 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1110 .loc 1 459 9 is_stmt 0 view .LVU361 1111 0182 A369 ldr r3, [r4, #24] 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1112 .loc 1 459 19 view .LVU362 1113 0184 43F08043 orr r3, r3, #1073741824 1114 0188 43F00403 orr r3, r3, #4 1115 018c A361 str r3, [r4, #24] 1116 018e F3E7 b .L73 1117 .L84: 1118 .align 2 1119 .L83: 1120 0190 00383C80 .word -2143537152 1121 .cfi_endproc 1122 .LFE244: 1124 .section .text.USB_GetDevSpeed,"ax",%progbits 1125 .align 1 1126 .global USB_GetDevSpeed 1127 .syntax unified 1128 .thumb 1129 .thumb_func 1131 USB_GetDevSpeed: 1132 .LVL61: 1133 .LFB248: 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1134 .loc 1 570 1 is_stmt 1 view -0 1135 .cfi_startproc 1136 @ args = 0, pretend = 0, frame = 0 1137 @ frame_needed = 0, uses_anonymous_args = 0 1138 @ link register save eliminated. 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t speed; 1139 .loc 1 571 3 view .LVU364 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t DevEnumSpeed = USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD; 1140 .loc 1 572 3 view .LVU365 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1141 .loc 1 573 3 view .LVU366 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1142 .loc 1 573 38 is_stmt 0 view .LVU367 1143 0000 D0F80838 ldr r3, [r0, #2056] 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1144 .loc 1 573 12 view .LVU368 1145 0004 03F00603 and r3, r3, #6 1146 .LVL62: 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1147 .loc 1 575 3 is_stmt 1 view .LVU369 ARM GAS /tmp/cc5wsx2R.s page 52 1148 0008 022B cmp r3, #2 1149 000a 04D0 beq .L87 1150 000c 062B cmp r3, #6 1151 000e 04D0 beq .L88 1152 0010 2BB9 cbnz r3, .L89 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1153 .loc 1 573 12 is_stmt 0 view .LVU370 1154 0012 0020 movs r0, #0 1155 .LVL63: 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1156 .loc 1 573 12 view .LVU371 1157 0014 7047 bx lr 1158 .LVL64: 1159 .L87: 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1160 .loc 1 573 12 view .LVU372 1161 0016 0220 movs r0, #2 1162 .LVL65: 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1163 .loc 1 573 12 view .LVU373 1164 0018 7047 bx lr 1165 .LVL66: 1166 .L88: 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1167 .loc 1 573 12 view .LVU374 1168 001a 0220 movs r0, #2 1169 .LVL67: 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1170 .loc 1 573 12 view .LVU375 1171 001c 7047 bx lr 1172 .LVL68: 1173 .L89: 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1174 .loc 1 573 12 view .LVU376 1175 001e 0F20 movs r0, #15 1176 .LVL69: 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1177 .loc 1 589 3 is_stmt 1 view .LVU377 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1178 .loc 1 590 1 is_stmt 0 view .LVU378 1179 0020 7047 bx lr 1180 .cfi_endproc 1181 .LFE248: 1183 .section .text.USB_ActivateEndpoint,"ax",%progbits 1184 .align 1 1185 .global USB_ActivateEndpoint 1186 .syntax unified 1187 .thumb 1188 .thumb_func 1190 USB_ActivateEndpoint: 1191 .LVL70: 1192 .LFB249: 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1193 .loc 1 599 1 is_stmt 1 view -0 1194 .cfi_startproc 1195 @ args = 0, pretend = 0, frame = 0 1196 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/cc5wsx2R.s page 53 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1197 .loc 1 599 1 is_stmt 0 view .LVU380 1198 0000 10B5 push {r4, lr} 1199 .LCFI19: 1200 .cfi_def_cfa_offset 8 1201 .cfi_offset 4, -8 1202 .cfi_offset 14, -4 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 1203 .loc 1 600 3 is_stmt 1 view .LVU381 1204 .LVL71: 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1205 .loc 1 601 3 view .LVU382 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1206 .loc 1 601 32 is_stmt 0 view .LVU383 1207 0002 91F800C0 ldrb ip, [r1] @ zero_extendqisi2 1208 .LVL72: 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1209 .loc 1 603 3 is_stmt 1 view .LVU384 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1210 .loc 1 603 9 is_stmt 0 view .LVU385 1211 0006 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1212 .loc 1 603 6 view .LVU386 1213 0008 012B cmp r3, #1 1214 000a 23D0 beq .L94 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1215 .loc 1 617 5 is_stmt 1 view .LVU387 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1216 .loc 1 617 16 is_stmt 0 view .LVU388 1217 000c 00F5006E add lr, r0, #2048 1218 0010 D0F81C38 ldr r3, [r0, #2076] 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1219 .loc 1 617 82 view .LVU389 1220 0014 0CF00F04 and r4, ip, #15 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1221 .loc 1 617 55 view .LVU390 1222 0018 0122 movs r2, #1 1223 001a A240 lsls r2, r2, r4 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1224 .loc 1 617 27 view .LVU391 1225 001c 43EA0243 orr r3, r3, r2, lsl #16 1226 0020 C0F81C38 str r3, [r0, #2076] 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1227 .loc 1 619 5 is_stmt 1 view .LVU392 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1228 .loc 1 619 11 is_stmt 0 view .LVU393 1229 0024 00EB4C10 add r0, r0, ip, lsl #5 1230 .LVL73: 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1231 .loc 1 619 28 view .LVU394 1232 0028 D0F8003B ldr r3, [r0, #2816] 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1233 .loc 1 619 8 view .LVU395 1234 002c 13F4004F tst r3, #32768 1235 0030 0ED1 bne .L92 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 1236 .loc 1 621 7 is_stmt 1 view .LVU396 ARM GAS /tmp/cc5wsx2R.s page 54 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 1237 .loc 1 621 24 is_stmt 0 view .LVU397 1238 0032 D0F8003B ldr r3, [r0, #2816] 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 1239 .loc 1 621 40 view .LVU398 1240 0036 8A68 ldr r2, [r1, #8] 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 1241 .loc 1 621 52 view .LVU399 1242 0038 C2F30A02 ubfx r2, r2, #0, #11 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 1243 .loc 1 622 50 view .LVU400 1244 003c 0979 ldrb r1, [r1, #4] @ zero_extendqisi2 1245 .LVL74: 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 1246 .loc 1 621 77 view .LVU401 1247 003e 42EA8142 orr r2, r2, r1, lsl #18 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 1248 .loc 1 621 34 view .LVU402 1249 0042 1343 orrs r3, r3, r2 1250 0044 43F08053 orr r3, r3, #268435456 1251 0048 43F40043 orr r3, r3, #32768 1252 004c C0F8003B str r3, [r0, #2816] 1253 .LVL75: 1254 .L92: 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1255 .loc 1 627 3 is_stmt 1 view .LVU403 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1256 .loc 1 628 1 is_stmt 0 view .LVU404 1257 0050 0020 movs r0, #0 1258 0052 10BD pop {r4, pc} 1259 .LVL76: 1260 .L94: 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1261 .loc 1 605 5 is_stmt 1 view .LVU405 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1262 .loc 1 605 16 is_stmt 0 view .LVU406 1263 0054 D0F81C28 ldr r2, [r0, #2076] 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1264 .loc 1 605 81 view .LVU407 1265 0058 0CF00F0E and lr, ip, #15 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1266 .loc 1 605 54 view .LVU408 1267 005c 03FA0EF3 lsl r3, r3, lr 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1268 .loc 1 605 52 view .LVU409 1269 0060 9BB2 uxth r3, r3 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1270 .loc 1 605 27 view .LVU410 1271 0062 1343 orrs r3, r3, r2 1272 0064 C0F81C38 str r3, [r0, #2076] 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1273 .loc 1 607 5 is_stmt 1 view .LVU411 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1274 .loc 1 607 10 is_stmt 0 view .LVU412 1275 0068 00EB4C10 add r0, r0, ip, lsl #5 1276 .LVL77: 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 55 1277 .loc 1 607 26 view .LVU413 1278 006c D0F80039 ldr r3, [r0, #2304] 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1279 .loc 1 607 8 view .LVU414 1280 0070 13F4004F tst r3, #32768 1281 0074 ECD1 bne .L92 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1282 .loc 1 609 7 is_stmt 1 view .LVU415 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1283 .loc 1 609 23 is_stmt 0 view .LVU416 1284 0076 D0F80039 ldr r3, [r0, #2304] 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1285 .loc 1 609 39 view .LVU417 1286 007a 8A68 ldr r2, [r1, #8] 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1287 .loc 1 609 51 view .LVU418 1288 007c C2F30A02 ubfx r2, r2, #0, #11 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 1289 .loc 1 610 49 view .LVU419 1290 0080 0979 ldrb r1, [r1, #4] @ zero_extendqisi2 1291 .LVL78: 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1292 .loc 1 609 76 view .LVU420 1293 0082 42EA8142 orr r2, r2, r1, lsl #18 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 1294 .loc 1 610 63 view .LVU421 1295 0086 42EA8C52 orr r2, r2, ip, lsl #22 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1296 .loc 1 609 33 view .LVU422 1297 008a 1343 orrs r3, r3, r2 1298 008c 43F08053 orr r3, r3, #268435456 1299 0090 43F40043 orr r3, r3, #32768 1300 0094 C0F80039 str r3, [r0, #2304] 1301 0098 DAE7 b .L92 1302 .cfi_endproc 1303 .LFE249: 1305 .section .text.USB_ActivateDedicatedEndpoint,"ax",%progbits 1306 .align 1 1307 .global USB_ActivateDedicatedEndpoint 1308 .syntax unified 1309 .thumb 1310 .thumb_func 1312 USB_ActivateDedicatedEndpoint: 1313 .LVL79: 1314 .LFB250: 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1315 .loc 1 637 1 is_stmt 1 view -0 1316 .cfi_startproc 1317 @ args = 0, pretend = 0, frame = 0 1318 @ frame_needed = 0, uses_anonymous_args = 0 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1319 .loc 1 637 1 is_stmt 0 view .LVU424 1320 0000 10B5 push {r4, lr} 1321 .LCFI20: 1322 .cfi_def_cfa_offset 8 1323 .cfi_offset 4, -8 1324 .cfi_offset 14, -4 ARM GAS /tmp/cc5wsx2R.s page 56 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 1325 .loc 1 638 3 is_stmt 1 view .LVU425 1326 .LVL80: 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1327 .loc 1 639 3 view .LVU426 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1328 .loc 1 639 32 is_stmt 0 view .LVU427 1329 0002 0A78 ldrb r2, [r1] @ zero_extendqisi2 1330 .LVL81: 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1331 .loc 1 642 3 is_stmt 1 view .LVU428 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1332 .loc 1 642 9 is_stmt 0 view .LVU429 1333 0004 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1334 .loc 1 642 6 view .LVU430 1335 0006 012B cmp r3, #1 1336 0008 23D0 beq .L101 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1337 .loc 1 656 5 is_stmt 1 view .LVU431 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1338 .loc 1 656 11 is_stmt 0 view .LVU432 1339 000a 00EB421C add ip, r0, r2, lsl #5 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1340 .loc 1 656 28 view .LVU433 1341 000e DCF8003B ldr r3, [ip, #2816] 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1342 .loc 1 656 8 view .LVU434 1343 0012 13F4004F tst r3, #32768 1344 0016 0FD1 bne .L99 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1345 .loc 1 658 7 is_stmt 1 view .LVU435 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1346 .loc 1 658 24 is_stmt 0 view .LVU436 1347 0018 DCF8004B ldr r4, [ip, #2816] 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1348 .loc 1 658 40 view .LVU437 1349 001c 8B68 ldr r3, [r1, #8] 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1350 .loc 1 658 52 view .LVU438 1351 001e C3F30A03 ubfx r3, r3, #0, #11 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_USBAEP; 1352 .loc 1 659 50 view .LVU439 1353 0022 91F804E0 ldrb lr, [r1, #4] @ zero_extendqisi2 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1354 .loc 1 658 77 view .LVU440 1355 0026 43EA8E43 orr r3, r3, lr, lsl #18 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_USBAEP; 1356 .loc 1 659 64 view .LVU441 1357 002a 43EA8253 orr r3, r3, r2, lsl #22 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1358 .loc 1 658 34 view .LVU442 1359 002e 2343 orrs r3, r3, r4 1360 0030 43F40043 orr r3, r3, #32768 1361 0034 CCF8003B str r3, [ip, #2816] 1362 .L99: 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } ARM GAS /tmp/cc5wsx2R.s page 57 1363 .loc 1 663 5 is_stmt 1 view .LVU443 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1364 .loc 1 663 16 is_stmt 0 view .LVU444 1365 0038 D0F83C38 ldr r3, [r0, #2108] 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1366 .loc 1 663 76 view .LVU445 1367 003c 0978 ldrb r1, [r1] @ zero_extendqisi2 1368 .LVL82: 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1369 .loc 1 663 82 view .LVU446 1370 003e 01F00F01 and r1, r1, #15 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1371 .loc 1 663 55 view .LVU447 1372 0042 0122 movs r2, #1 1373 .LVL83: 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1374 .loc 1 663 55 view .LVU448 1375 0044 8A40 lsls r2, r2, r1 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1376 .loc 1 663 27 view .LVU449 1377 0046 43EA0243 orr r3, r3, r2, lsl #16 1378 004a C0F83C38 str r3, [r0, #2108] 1379 .L98: 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1380 .loc 1 666 3 is_stmt 1 view .LVU450 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1381 .loc 1 667 1 is_stmt 0 view .LVU451 1382 004e 0020 movs r0, #0 1383 .LVL84: 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1384 .loc 1 667 1 view .LVU452 1385 0050 10BD pop {r4, pc} 1386 .LVL85: 1387 .L101: 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1388 .loc 1 644 5 is_stmt 1 view .LVU453 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1389 .loc 1 644 11 is_stmt 0 view .LVU454 1390 0052 00EB421C add ip, r0, r2, lsl #5 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1391 .loc 1 644 27 view .LVU455 1392 0056 DCF80039 ldr r3, [ip, #2304] 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1393 .loc 1 644 8 view .LVU456 1394 005a 13F4004F tst r3, #32768 1395 005e 11D1 bne .L97 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1396 .loc 1 646 7 is_stmt 1 view .LVU457 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1397 .loc 1 646 23 is_stmt 0 view .LVU458 1398 0060 DCF80039 ldr r3, [ip, #2304] 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1399 .loc 1 646 39 view .LVU459 1400 0064 8C68 ldr r4, [r1, #8] 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1401 .loc 1 646 51 view .LVU460 1402 0066 C4F30A04 ubfx r4, r4, #0, #11 ARM GAS /tmp/cc5wsx2R.s page 58 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 1403 .loc 1 647 49 view .LVU461 1404 006a 91F804E0 ldrb lr, [r1, #4] @ zero_extendqisi2 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1405 .loc 1 646 76 view .LVU462 1406 006e 44EA8E44 orr r4, r4, lr, lsl #18 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 1407 .loc 1 647 63 view .LVU463 1408 0072 44EA8254 orr r4, r4, r2, lsl #22 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 1409 .loc 1 646 33 view .LVU464 1410 0076 2343 orrs r3, r3, r4 1411 0078 43F08053 orr r3, r3, #268435456 1412 007c 43F40043 orr r3, r3, #32768 1413 0080 CCF80039 str r3, [ip, #2304] 1414 .L97: 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1415 .loc 1 652 5 is_stmt 1 view .LVU465 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1416 .loc 1 652 16 is_stmt 0 view .LVU466 1417 0084 D0F83C28 ldr r2, [r0, #2108] 1418 .LVL86: 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1419 .loc 1 652 75 view .LVU467 1420 0088 0978 ldrb r1, [r1] @ zero_extendqisi2 1421 .LVL87: 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1422 .loc 1 652 81 view .LVU468 1423 008a 01F00F01 and r1, r1, #15 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1424 .loc 1 652 54 view .LVU469 1425 008e 0123 movs r3, #1 1426 0090 8B40 lsls r3, r3, r1 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1427 .loc 1 652 52 view .LVU470 1428 0092 9BB2 uxth r3, r3 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1429 .loc 1 652 27 view .LVU471 1430 0094 1343 orrs r3, r3, r2 1431 0096 C0F83C38 str r3, [r0, #2108] 1432 009a D8E7 b .L98 1433 .cfi_endproc 1434 .LFE250: 1436 .section .text.USB_DeactivateEndpoint,"ax",%progbits 1437 .align 1 1438 .global USB_DeactivateEndpoint 1439 .syntax unified 1440 .thumb 1441 .thumb_func 1443 USB_DeactivateEndpoint: 1444 .LVL88: 1445 .LFB251: 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1446 .loc 1 676 1 is_stmt 1 view -0 1447 .cfi_startproc 1448 @ args = 0, pretend = 0, frame = 0 1449 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/cc5wsx2R.s page 59 1450 @ link register save eliminated. 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1451 .loc 1 676 1 is_stmt 0 view .LVU473 1452 0000 30B4 push {r4, r5} 1453 .LCFI21: 1454 .cfi_def_cfa_offset 8 1455 .cfi_offset 4, -8 1456 .cfi_offset 5, -4 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 1457 .loc 1 677 3 is_stmt 1 view .LVU474 1458 .LVL89: 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1459 .loc 1 678 3 view .LVU475 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1460 .loc 1 678 32 is_stmt 0 view .LVU476 1461 0002 0B78 ldrb r3, [r1] @ zero_extendqisi2 1462 .LVL90: 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1463 .loc 1 681 3 is_stmt 1 view .LVU477 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1464 .loc 1 681 9 is_stmt 0 view .LVU478 1465 0004 4A78 ldrb r2, [r1, #1] @ zero_extendqisi2 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1466 .loc 1 681 6 view .LVU479 1467 0006 012A cmp r2, #1 1468 0008 26D0 beq .L108 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1469 .loc 1 699 5 is_stmt 1 view .LVU480 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1470 .loc 1 699 10 is_stmt 0 view .LVU481 1471 000a 00EB4313 add r3, r0, r3, lsl #5 1472 .LVL91: 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1473 .loc 1 699 27 view .LVU482 1474 000e D3F8002B ldr r2, [r3, #2816] 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1475 .loc 1 699 8 view .LVU483 1476 0012 002A cmp r2, #0 1477 0014 52DB blt .L109 1478 .LVL92: 1479 .L106: 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 1480 .loc 1 705 5 is_stmt 1 view .LVU484 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 1481 .loc 1 705 16 is_stmt 0 view .LVU485 1482 0016 D0F83C48 ldr r4, [r0, #2108] 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 1483 .loc 1 705 78 view .LVU486 1484 001a 0A78 ldrb r2, [r1] @ zero_extendqisi2 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 1485 .loc 1 705 84 view .LVU487 1486 001c 02F00F02 and r2, r2, #15 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 1487 .loc 1 705 57 view .LVU488 1488 0020 4FF0010C mov ip, #1 1489 0024 0CFA02F2 lsl r2, ip, r2 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) ARM GAS /tmp/cc5wsx2R.s page 60 1490 .loc 1 705 27 view .LVU489 1491 0028 24EA0242 bic r2, r4, r2, lsl #16 1492 002c C0F83C28 str r2, [r0, #2108] 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 1493 .loc 1 706 5 is_stmt 1 view .LVU490 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 1494 .loc 1 706 16 is_stmt 0 view .LVU491 1495 0030 D0F81C28 ldr r2, [r0, #2076] 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 1496 .loc 1 706 78 view .LVU492 1497 0034 0978 ldrb r1, [r1] @ zero_extendqisi2 1498 .LVL93: 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 1499 .loc 1 706 84 view .LVU493 1500 0036 01F00F01 and r1, r1, #15 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 1501 .loc 1 706 57 view .LVU494 1502 003a 0CFA01FC lsl ip, ip, r1 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 1503 .loc 1 706 27 view .LVU495 1504 003e 22EA0C42 bic r2, r2, ip, lsl #16 1505 0042 C0F81C28 str r2, [r0, #2076] 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_MPSIZ | 1506 .loc 1 707 5 is_stmt 1 view .LVU496 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_MPSIZ | 1507 .loc 1 707 22 is_stmt 0 view .LVU497 1508 0046 D3F8001B ldr r1, [r3, #2816] 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_MPSIZ | 1509 .loc 1 707 32 view .LVU498 1510 004a 234A ldr r2, .L111 1511 004c 0A40 ands r2, r2, r1 1512 004e C3F8002B str r2, [r3, #2816] 1513 .L105: 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1514 .loc 1 713 3 is_stmt 1 view .LVU499 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1515 .loc 1 714 1 is_stmt 0 view .LVU500 1516 0052 0020 movs r0, #0 1517 .LVL94: 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1518 .loc 1 714 1 view .LVU501 1519 0054 30BC pop {r4, r5} 1520 .LCFI22: 1521 .cfi_remember_state 1522 .cfi_restore 5 1523 .cfi_restore 4 1524 .cfi_def_cfa_offset 0 1525 0056 7047 bx lr 1526 .LVL95: 1527 .L108: 1528 .LCFI23: 1529 .cfi_restore_state 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1530 .loc 1 683 5 is_stmt 1 view .LVU502 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1531 .loc 1 683 10 is_stmt 0 view .LVU503 1532 0058 00EB4313 add r3, r0, r3, lsl #5 ARM GAS /tmp/cc5wsx2R.s page 61 1533 .LVL96: 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1534 .loc 1 683 26 view .LVU504 1535 005c D3F80029 ldr r2, [r3, #2304] 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1536 .loc 1 683 8 view .LVU505 1537 0060 002A cmp r2, #0 1538 0062 1EDB blt .L110 1539 .LVL97: 1540 .L104: 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 1541 .loc 1 689 5 is_stmt 1 view .LVU506 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 1542 .loc 1 689 16 is_stmt 0 view .LVU507 1543 0064 D0F83C58 ldr r5, [r0, #2108] 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 1544 .loc 1 689 77 view .LVU508 1545 0068 0A78 ldrb r2, [r1] @ zero_extendqisi2 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 1546 .loc 1 689 83 view .LVU509 1547 006a 02F00F02 and r2, r2, #15 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 1548 .loc 1 689 56 view .LVU510 1549 006e 0124 movs r4, #1 1550 0070 04FA02F2 lsl r2, r4, r2 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 1551 .loc 1 689 54 view .LVU511 1552 0074 92B2 uxth r2, r2 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 1553 .loc 1 689 27 view .LVU512 1554 0076 25EA0202 bic r2, r5, r2 1555 007a C0F83C28 str r2, [r0, #2108] 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 1556 .loc 1 690 5 is_stmt 1 view .LVU513 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 1557 .loc 1 690 16 is_stmt 0 view .LVU514 1558 007e D0F81C28 ldr r2, [r0, #2076] 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 1559 .loc 1 690 77 view .LVU515 1560 0082 0978 ldrb r1, [r1] @ zero_extendqisi2 1561 .LVL98: 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 1562 .loc 1 690 83 view .LVU516 1563 0084 01F00F01 and r1, r1, #15 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 1564 .loc 1 690 56 view .LVU517 1565 0088 8C40 lsls r4, r4, r1 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 1566 .loc 1 690 54 view .LVU518 1567 008a A4B2 uxth r4, r4 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 1568 .loc 1 690 27 view .LVU519 1569 008c 22EA0402 bic r2, r2, r4 1570 0090 C0F81C28 str r2, [r0, #2076] 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_MPSIZ | 1571 .loc 1 691 5 is_stmt 1 view .LVU520 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_MPSIZ | ARM GAS /tmp/cc5wsx2R.s page 62 1572 .loc 1 691 21 is_stmt 0 view .LVU521 1573 0094 D3F80019 ldr r1, [r3, #2304] 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_MPSIZ | 1574 .loc 1 691 31 view .LVU522 1575 0098 104A ldr r2, .L111+4 1576 009a 0A40 ands r2, r2, r1 1577 009c C3F80029 str r2, [r3, #2304] 1578 00a0 D7E7 b .L105 1579 .LVL99: 1580 .L110: 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 1581 .loc 1 685 7 is_stmt 1 view .LVU523 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 1582 .loc 1 685 23 is_stmt 0 view .LVU524 1583 00a2 D3F80029 ldr r2, [r3, #2304] 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 1584 .loc 1 685 33 view .LVU525 1585 00a6 42F00062 orr r2, r2, #134217728 1586 00aa C3F80029 str r2, [r3, #2304] 1587 .LVL100: 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1588 .loc 1 686 7 is_stmt 1 view .LVU526 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1589 .loc 1 686 23 is_stmt 0 view .LVU527 1590 00ae D3F80029 ldr r2, [r3, #2304] 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1591 .loc 1 686 33 view .LVU528 1592 00b2 42F08042 orr r2, r2, #1073741824 1593 00b6 C3F80029 str r2, [r3, #2304] 1594 00ba D3E7 b .L104 1595 .LVL101: 1596 .L109: 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 1597 .loc 1 701 7 is_stmt 1 view .LVU529 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 1598 .loc 1 701 24 is_stmt 0 view .LVU530 1599 00bc D3F8002B ldr r2, [r3, #2816] 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 1600 .loc 1 701 34 view .LVU531 1601 00c0 42F00062 orr r2, r2, #134217728 1602 00c4 C3F8002B str r2, [r3, #2816] 1603 .LVL102: 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1604 .loc 1 702 7 is_stmt 1 view .LVU532 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1605 .loc 1 702 24 is_stmt 0 view .LVU533 1606 00c8 D3F8002B ldr r2, [r3, #2816] 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1607 .loc 1 702 34 view .LVU534 1608 00cc 42F08042 orr r2, r2, #1073741824 1609 00d0 C3F8002B str r2, [r3, #2816] 1610 00d4 9FE7 b .L106 1611 .L112: 1612 00d6 00BF .align 2 1613 .L111: 1614 00d8 0078F3EF .word -269256704 1615 00dc 007833EC .word -332171264 ARM GAS /tmp/cc5wsx2R.s page 63 1616 .cfi_endproc 1617 .LFE251: 1619 .section .text.USB_DeactivateDedicatedEndpoint,"ax",%progbits 1620 .align 1 1621 .global USB_DeactivateDedicatedEndpoint 1622 .syntax unified 1623 .thumb 1624 .thumb_func 1626 USB_DeactivateDedicatedEndpoint: 1627 .LVL103: 1628 .LFB252: 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1629 .loc 1 723 1 is_stmt 1 view -0 1630 .cfi_startproc 1631 @ args = 0, pretend = 0, frame = 0 1632 @ frame_needed = 0, uses_anonymous_args = 0 1633 @ link register save eliminated. 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 1634 .loc 1 724 3 view .LVU536 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1635 .loc 1 725 3 view .LVU537 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1636 .loc 1 725 32 is_stmt 0 view .LVU538 1637 0000 0B78 ldrb r3, [r1] @ zero_extendqisi2 1638 .LVL104: 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1639 .loc 1 728 3 is_stmt 1 view .LVU539 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1640 .loc 1 728 9 is_stmt 0 view .LVU540 1641 0002 4A78 ldrb r2, [r1, #1] @ zero_extendqisi2 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1642 .loc 1 728 6 view .LVU541 1643 0004 012A cmp r2, #1 1644 0006 18D0 beq .L118 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1645 .loc 1 741 5 is_stmt 1 view .LVU542 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1646 .loc 1 741 10 is_stmt 0 view .LVU543 1647 0008 00EB4313 add r3, r0, r3, lsl #5 1648 .LVL105: 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1649 .loc 1 741 27 view .LVU544 1650 000c D3F8002B ldr r2, [r3, #2816] 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1651 .loc 1 741 8 view .LVU545 1652 0010 002A cmp r2, #0 1653 0012 38DB blt .L119 1654 .LVL106: 1655 .L117: 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 1656 .loc 1 747 5 is_stmt 1 view .LVU546 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 1657 .loc 1 747 22 is_stmt 0 view .LVU547 1658 0014 D3F8002B ldr r2, [r3, #2816] 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 1659 .loc 1 747 32 view .LVU548 1660 0018 22F40042 bic r2, r2, #32768 ARM GAS /tmp/cc5wsx2R.s page 64 1661 001c C3F8002B str r2, [r3, #2816] 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1662 .loc 1 748 5 is_stmt 1 view .LVU549 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1663 .loc 1 748 16 is_stmt 0 view .LVU550 1664 0020 D0F81C38 ldr r3, [r0, #2076] 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1665 .loc 1 748 78 view .LVU551 1666 0024 0978 ldrb r1, [r1] @ zero_extendqisi2 1667 .LVL107: 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1668 .loc 1 748 84 view .LVU552 1669 0026 01F00F01 and r1, r1, #15 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1670 .loc 1 748 57 view .LVU553 1671 002a 0122 movs r2, #1 1672 002c 8A40 lsls r2, r2, r1 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1673 .loc 1 748 27 view .LVU554 1674 002e 23EA0243 bic r3, r3, r2, lsl #16 1675 0032 C0F81C38 str r3, [r0, #2076] 1676 .L116: 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1677 .loc 1 751 3 is_stmt 1 view .LVU555 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1678 .loc 1 752 1 is_stmt 0 view .LVU556 1679 0036 0020 movs r0, #0 1680 .LVL108: 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1681 .loc 1 752 1 view .LVU557 1682 0038 7047 bx lr 1683 .LVL109: 1684 .L118: 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1685 .loc 1 730 5 is_stmt 1 view .LVU558 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1686 .loc 1 730 10 is_stmt 0 view .LVU559 1687 003a 00EB4313 add r3, r0, r3, lsl #5 1688 .LVL110: 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1689 .loc 1 730 26 view .LVU560 1690 003e D3F80029 ldr r2, [r3, #2304] 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1691 .loc 1 730 8 view .LVU561 1692 0042 002A cmp r2, #0 1693 0044 12DB blt .L120 1694 .LVL111: 1695 .L115: 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 1696 .loc 1 736 5 is_stmt 1 view .LVU562 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 1697 .loc 1 736 21 is_stmt 0 view .LVU563 1698 0046 D3F80029 ldr r2, [r3, #2304] 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 1699 .loc 1 736 31 view .LVU564 1700 004a 22F40042 bic r2, r2, #32768 1701 004e C3F80029 str r2, [r3, #2304] ARM GAS /tmp/cc5wsx2R.s page 65 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1702 .loc 1 737 5 is_stmt 1 view .LVU565 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1703 .loc 1 737 16 is_stmt 0 view .LVU566 1704 0052 D0F81C28 ldr r2, [r0, #2076] 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1705 .loc 1 737 77 view .LVU567 1706 0056 0978 ldrb r1, [r1] @ zero_extendqisi2 1707 .LVL112: 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1708 .loc 1 737 83 view .LVU568 1709 0058 01F00F01 and r1, r1, #15 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1710 .loc 1 737 56 view .LVU569 1711 005c 0123 movs r3, #1 1712 005e 8B40 lsls r3, r3, r1 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1713 .loc 1 737 54 view .LVU570 1714 0060 9BB2 uxth r3, r3 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1715 .loc 1 737 27 view .LVU571 1716 0062 22EA0303 bic r3, r2, r3 1717 0066 C0F81C38 str r3, [r0, #2076] 1718 006a E4E7 b .L116 1719 .LVL113: 1720 .L120: 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 1721 .loc 1 732 7 is_stmt 1 view .LVU572 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 1722 .loc 1 732 23 is_stmt 0 view .LVU573 1723 006c D3F80029 ldr r2, [r3, #2304] 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 1724 .loc 1 732 34 view .LVU574 1725 0070 42F00062 orr r2, r2, #134217728 1726 0074 C3F80029 str r2, [r3, #2304] 1727 .LVL114: 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1728 .loc 1 733 7 is_stmt 1 view .LVU575 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1729 .loc 1 733 23 is_stmt 0 view .LVU576 1730 0078 D3F80029 ldr r2, [r3, #2304] 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1731 .loc 1 733 34 view .LVU577 1732 007c 42F08042 orr r2, r2, #1073741824 1733 0080 C3F80029 str r2, [r3, #2304] 1734 0084 DFE7 b .L115 1735 .LVL115: 1736 .L119: 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 1737 .loc 1 743 7 is_stmt 1 view .LVU578 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 1738 .loc 1 743 24 is_stmt 0 view .LVU579 1739 0086 D3F8002B ldr r2, [r3, #2816] 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 1740 .loc 1 743 35 view .LVU580 1741 008a 42F00062 orr r2, r2, #134217728 1742 008e C3F8002B str r2, [r3, #2816] ARM GAS /tmp/cc5wsx2R.s page 66 1743 .LVL116: 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1744 .loc 1 744 7 is_stmt 1 view .LVU581 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1745 .loc 1 744 24 is_stmt 0 view .LVU582 1746 0092 D3F8002B ldr r2, [r3, #2816] 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1747 .loc 1 744 35 view .LVU583 1748 0096 42F08042 orr r2, r2, #1073741824 1749 009a C3F8002B str r2, [r3, #2816] 1750 009e B9E7 b .L117 1751 .cfi_endproc 1752 .LFE252: 1754 .section .text.USB_EPStopXfer,"ax",%progbits 1755 .align 1 1756 .global USB_EPStopXfer 1757 .syntax unified 1758 .thumb 1759 .thumb_func 1761 USB_EPStopXfer: 1762 .LVL117: 1763 .LFB254: 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 1764 .loc 1 937 1 is_stmt 1 view -0 1765 .cfi_startproc 1766 @ args = 0, pretend = 0, frame = 8 1767 @ frame_needed = 0, uses_anonymous_args = 0 1768 @ link register save eliminated. 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 1769 .loc 1 937 1 is_stmt 0 view .LVU585 1770 0000 10B4 push {r4} 1771 .LCFI24: 1772 .cfi_def_cfa_offset 4 1773 .cfi_offset 4, -4 1774 0002 83B0 sub sp, sp, #12 1775 .LCFI25: 1776 .cfi_def_cfa_offset 16 1777 0004 0246 mov r2, r0 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK; 1778 .loc 1 938 3 is_stmt 1 view .LVU586 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK; 1779 .loc 1 938 17 is_stmt 0 view .LVU587 1780 0006 0023 movs r3, #0 1781 0008 0193 str r3, [sp, #4] 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1782 .loc 1 939 3 is_stmt 1 view .LVU588 1783 .LVL118: 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1784 .loc 1 940 3 view .LVU589 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1785 .loc 1 943 3 view .LVU590 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1786 .loc 1 943 9 is_stmt 0 view .LVU591 1787 000a 4878 ldrb r0, [r1, #1] @ zero_extendqisi2 1788 .LVL119: 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1789 .loc 1 943 6 view .LVU592 ARM GAS /tmp/cc5wsx2R.s page 67 1790 000c 0128 cmp r0, #1 1791 000e 0BD0 beq .L130 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1792 .loc 1 965 5 is_stmt 1 view .LVU593 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1793 .loc 1 965 11 is_stmt 0 view .LVU594 1794 0010 0B78 ldrb r3, [r1] @ zero_extendqisi2 1795 0012 02EB4313 add r3, r2, r3, lsl #5 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1796 .loc 1 965 30 view .LVU595 1797 0016 D3F8000B ldr r0, [r3, #2816] 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1798 .loc 1 965 8 view .LVU596 1799 001a 0028 cmp r0, #0 1800 001c 2DDB blt .L131 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1801 .loc 1 939 21 view .LVU597 1802 001e 0020 movs r0, #0 1803 .L123: 1804 .LVL120: 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1805 .loc 1 983 3 is_stmt 1 view .LVU598 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1806 .loc 1 984 1 is_stmt 0 view .LVU599 1807 0020 03B0 add sp, sp, #12 1808 .LCFI26: 1809 .cfi_remember_state 1810 .cfi_def_cfa_offset 4 1811 @ sp needed 1812 0022 5DF8044B ldr r4, [sp], #4 1813 .LCFI27: 1814 .cfi_restore 4 1815 .cfi_def_cfa_offset 0 1816 0026 7047 bx lr 1817 .LVL121: 1818 .L130: 1819 .LCFI28: 1820 .cfi_restore_state 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1821 .loc 1 946 5 is_stmt 1 view .LVU600 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1822 .loc 1 946 11 is_stmt 0 view .LVU601 1823 0028 0B78 ldrb r3, [r1] @ zero_extendqisi2 1824 002a 02EB4313 add r3, r2, r3, lsl #5 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1825 .loc 1 946 29 view .LVU602 1826 002e D3F80049 ldr r4, [r3, #2304] 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1827 .loc 1 946 8 view .LVU603 1828 0032 002C cmp r4, #0 1829 0034 01DB blt .L132 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1830 .loc 1 939 21 view .LVU604 1831 0036 0020 movs r0, #0 1832 0038 F2E7 b .L123 1833 .L132: 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(ep->num)->DIEPCTL |= (USB_OTG_DIEPCTL_EPDIS); ARM GAS /tmp/cc5wsx2R.s page 68 1834 .loc 1 948 7 is_stmt 1 view .LVU605 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(ep->num)->DIEPCTL |= (USB_OTG_DIEPCTL_EPDIS); 1835 .loc 1 948 25 is_stmt 0 view .LVU606 1836 003a D3F80049 ldr r4, [r3, #2304] 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(ep->num)->DIEPCTL |= (USB_OTG_DIEPCTL_EPDIS); 1837 .loc 1 948 35 view .LVU607 1838 003e 44F00064 orr r4, r4, #134217728 1839 0042 C3F80049 str r4, [r3, #2304] 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1840 .loc 1 949 7 is_stmt 1 view .LVU608 1841 0046 0B78 ldrb r3, [r1] @ zero_extendqisi2 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1842 .loc 1 949 25 is_stmt 0 view .LVU609 1843 0048 02EB4313 add r3, r2, r3, lsl #5 1844 004c D3F80049 ldr r4, [r3, #2304] 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1845 .loc 1 949 35 view .LVU610 1846 0050 44F08044 orr r4, r4, #1073741824 1847 0054 C3F80049 str r4, [r3, #2304] 1848 .L124: 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1849 .loc 1 951 7 is_stmt 1 view .LVU611 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1850 .loc 1 953 9 view .LVU612 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1851 .loc 1 953 14 is_stmt 0 view .LVU613 1852 0058 019B ldr r3, [sp, #4] 1853 005a 0133 adds r3, r3, #1 1854 005c 0193 str r3, [sp, #4] 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1855 .loc 1 955 9 is_stmt 1 view .LVU614 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1856 .loc 1 955 19 is_stmt 0 view .LVU615 1857 005e 019C ldr r4, [sp, #4] 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1858 .loc 1 955 12 view .LVU616 1859 0060 42F21073 movw r3, #10000 1860 0064 9C42 cmp r4, r3 1861 0066 DBD8 bhi .L123 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1862 .loc 1 960 72 is_stmt 1 view .LVU617 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1863 .loc 1 960 18 is_stmt 0 view .LVU618 1864 0068 0B78 ldrb r3, [r1] @ zero_extendqisi2 1865 006a 02EB4313 add r3, r2, r3, lsl #5 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1866 .loc 1 960 36 view .LVU619 1867 006e D3F80039 ldr r3, [r3, #2304] 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1868 .loc 1 960 72 view .LVU620 1869 0072 002B cmp r3, #0 1870 0074 F0DB blt .L124 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1871 .loc 1 939 21 view .LVU621 1872 0076 0020 movs r0, #0 1873 0078 D2E7 b .L123 1874 .L131: ARM GAS /tmp/cc5wsx2R.s page 69 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(ep->num)->DOEPCTL |= (USB_OTG_DOEPCTL_EPDIS); 1875 .loc 1 967 7 is_stmt 1 view .LVU622 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(ep->num)->DOEPCTL |= (USB_OTG_DOEPCTL_EPDIS); 1876 .loc 1 967 26 is_stmt 0 view .LVU623 1877 007a D3F8000B ldr r0, [r3, #2816] 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(ep->num)->DOEPCTL |= (USB_OTG_DOEPCTL_EPDIS); 1878 .loc 1 967 36 view .LVU624 1879 007e 40F00060 orr r0, r0, #134217728 1880 0082 C3F8000B str r0, [r3, #2816] 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1881 .loc 1 968 7 is_stmt 1 view .LVU625 1882 0086 0B78 ldrb r3, [r1] @ zero_extendqisi2 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1883 .loc 1 968 26 is_stmt 0 view .LVU626 1884 0088 02EB4313 add r3, r2, r3, lsl #5 1885 008c D3F8000B ldr r0, [r3, #2816] 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1886 .loc 1 968 36 view .LVU627 1887 0090 40F08040 orr r0, r0, #1073741824 1888 0094 C3F8000B str r0, [r3, #2816] 1889 .L125: 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1890 .loc 1 970 7 is_stmt 1 view .LVU628 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1891 .loc 1 972 9 view .LVU629 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1892 .loc 1 972 14 is_stmt 0 view .LVU630 1893 0098 019B ldr r3, [sp, #4] 1894 009a 0133 adds r3, r3, #1 1895 009c 0193 str r3, [sp, #4] 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1896 .loc 1 974 9 is_stmt 1 view .LVU631 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1897 .loc 1 974 19 is_stmt 0 view .LVU632 1898 009e 0198 ldr r0, [sp, #4] 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1899 .loc 1 974 12 view .LVU633 1900 00a0 42F21073 movw r3, #10000 1901 00a4 9842 cmp r0, r3 1902 00a6 08D8 bhi .L128 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1903 .loc 1 979 73 is_stmt 1 view .LVU634 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1904 .loc 1 979 18 is_stmt 0 view .LVU635 1905 00a8 0B78 ldrb r3, [r1] @ zero_extendqisi2 1906 00aa 02EB4313 add r3, r2, r3, lsl #5 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1907 .loc 1 979 37 view .LVU636 1908 00ae D3F8003B ldr r3, [r3, #2816] 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1909 .loc 1 979 73 view .LVU637 1910 00b2 002B cmp r3, #0 1911 00b4 F0DB blt .L125 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1912 .loc 1 939 21 view .LVU638 1913 00b6 0020 movs r0, #0 1914 00b8 B2E7 b .L123 ARM GAS /tmp/cc5wsx2R.s page 70 1915 .L128: 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 1916 .loc 1 976 15 view .LVU639 1917 00ba 0120 movs r0, #1 1918 00bc B0E7 b .L123 1919 .cfi_endproc 1920 .LFE254: 1922 .section .text.USB_WritePacket,"ax",%progbits 1923 .align 1 1924 .global USB_WritePacket 1925 .syntax unified 1926 .thumb 1927 .thumb_func 1929 USB_WritePacket: 1930 .LVL122: 1931 .LFB255: 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1932 .loc 1 1002 1 is_stmt 1 view -0 1933 .cfi_startproc 1934 @ args = 4, pretend = 0, frame = 0 1935 @ frame_needed = 0, uses_anonymous_args = 0 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1936 .loc 1 1002 1 is_stmt 0 view .LVU641 1937 0000 10B5 push {r4, lr} 1938 .LCFI29: 1939 .cfi_def_cfa_offset 8 1940 .cfi_offset 4, -8 1941 .cfi_offset 14, -4 1942 0002 9DF80840 ldrb r4, [sp, #8] @ zero_extendqisi2 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t *pSrc = src; 1943 .loc 1 1003 3 is_stmt 1 view .LVU642 1944 .LVL123: 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t count32b; 1945 .loc 1 1004 3 view .LVU643 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 1946 .loc 1 1005 3 view .LVU644 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1947 .loc 1 1006 3 view .LVU645 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1948 .loc 1 1008 3 view .LVU646 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1949 .loc 1 1008 6 is_stmt 0 view .LVU647 1950 0006 84B9 cbnz r4, .L134 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < count32b; i++) 1951 .loc 1 1010 5 is_stmt 1 view .LVU648 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < count32b; i++) 1952 .loc 1 1010 31 is_stmt 0 view .LVU649 1953 0008 0333 adds r3, r3, #3 1954 .LVL124: 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < count32b; i++) 1955 .loc 1 1010 14 view .LVU650 1956 000a 4FEA930E lsr lr, r3, #2 1957 .LVL125: 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1958 .loc 1 1011 5 is_stmt 1 view .LVU651 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1959 .loc 1 1011 12 is_stmt 0 view .LVU652 ARM GAS /tmp/cc5wsx2R.s page 71 1960 000e 4FF0000C mov ip, #0 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1961 .loc 1 1011 5 view .LVU653 1962 0012 08E0 b .L135 1963 .LVL126: 1964 .L136: 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 1965 .loc 1 1013 7 is_stmt 1 view .LVU654 1966 0014 00EB0233 add r3, r0, r2, lsl #12 1967 0018 03F58053 add r3, r3, #4096 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 1968 .loc 1 1013 41 is_stmt 0 view .LVU655 1969 001c 51F8044B ldr r4, [r1], #4 @ unaligned 1970 .LVL127: 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 1971 .loc 1 1013 39 view .LVU656 1972 0020 1C60 str r4, [r3] 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 1973 .loc 1 1014 7 is_stmt 1 view .LVU657 1974 .LVL128: 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 1975 .loc 1 1015 7 view .LVU658 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 1976 .loc 1 1016 7 view .LVU659 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1977 .loc 1 1017 7 view .LVU660 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1978 .loc 1 1011 33 discriminator 3 view .LVU661 1979 0022 0CF1010C add ip, ip, #1 1980 .LVL129: 1981 .L135: 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1982 .loc 1 1011 20 discriminator 1 view .LVU662 1983 0026 F445 cmp ip, lr 1984 0028 F4D3 bcc .L136 1985 .LVL130: 1986 .L134: 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1987 .loc 1 1021 3 view .LVU663 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1988 .loc 1 1022 1 is_stmt 0 view .LVU664 1989 002a 0020 movs r0, #0 1990 .LVL131: 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1991 .loc 1 1022 1 view .LVU665 1992 002c 10BD pop {r4, pc} 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1993 .loc 1 1022 1 view .LVU666 1994 .cfi_endproc 1995 .LFE255: 1997 .section .text.USB_EPStartXfer,"ax",%progbits 1998 .align 1 1999 .global USB_EPStartXfer 2000 .syntax unified 2001 .thumb 2002 .thumb_func 2004 USB_EPStartXfer: ARM GAS /tmp/cc5wsx2R.s page 72 2005 .LVL132: 2006 .LFB253: 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2007 .loc 1 765 1 is_stmt 1 view -0 2008 .cfi_startproc 2009 @ args = 0, pretend = 0, frame = 0 2010 @ frame_needed = 0, uses_anonymous_args = 0 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2011 .loc 1 765 1 is_stmt 0 view .LVU668 2012 0000 F0B5 push {r4, r5, r6, r7, lr} 2013 .LCFI30: 2014 .cfi_def_cfa_offset 20 2015 .cfi_offset 4, -20 2016 .cfi_offset 5, -16 2017 .cfi_offset 6, -12 2018 .cfi_offset 7, -8 2019 .cfi_offset 14, -4 2020 0002 83B0 sub sp, sp, #12 2021 .LCFI31: 2022 .cfi_def_cfa_offset 32 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 2023 .loc 1 766 3 is_stmt 1 view .LVU669 2024 .LVL133: 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t pktcnt; 2025 .loc 1 767 3 view .LVU670 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t pktcnt; 2026 .loc 1 767 32 is_stmt 0 view .LVU671 2027 0004 0C78 ldrb r4, [r1] @ zero_extendqisi2 2028 .LVL134: 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2029 .loc 1 768 3 is_stmt 1 view .LVU672 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2030 .loc 1 771 3 view .LVU673 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2031 .loc 1 771 9 is_stmt 0 view .LVU674 2032 0006 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2033 .loc 1 771 6 view .LVU675 2034 0008 012B cmp r3, #1 2035 000a 2DD0 beq .L161 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 2036 .loc 1 870 5 is_stmt 1 view .LVU676 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 2037 .loc 1 870 22 is_stmt 0 view .LVU677 2038 000c 00EB441C add ip, r0, r4, lsl #5 2039 0010 0CF53063 add r3, ip, #2816 2040 0014 1D69 ldr r5, [r3, #16] 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 2041 .loc 1 870 33 view .LVU678 2042 0016 6FF31205 bfc r5, #0, #19 2043 001a 1D61 str r5, [r3, #16] 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2044 .loc 1 871 5 is_stmt 1 view .LVU679 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2045 .loc 1 871 22 is_stmt 0 view .LVU680 2046 001c 1D69 ldr r5, [r3, #16] 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/cc5wsx2R.s page 73 2047 .loc 1 871 33 view .LVU681 2048 001e 6FF3DC45 bfc r5, #19, #10 2049 0022 1D61 str r5, [r3, #16] 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2050 .loc 1 873 5 is_stmt 1 view .LVU682 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2051 .loc 1 873 8 is_stmt 0 view .LVU683 2052 0024 002C cmp r4, #0 2053 0026 40F0CE80 bne .L153 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2054 .loc 1 875 7 is_stmt 1 view .LVU684 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2055 .loc 1 875 13 is_stmt 0 view .LVU685 2056 002a 0C69 ldr r4, [r1, #16] 2057 .LVL135: 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2058 .loc 1 875 10 view .LVU686 2059 002c 0CB1 cbz r4, .L154 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2060 .loc 1 877 9 is_stmt 1 view .LVU687 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2061 .loc 1 877 26 is_stmt 0 view .LVU688 2062 002e 8C68 ldr r4, [r1, #8] 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2063 .loc 1 877 22 view .LVU689 2064 0030 0C61 str r4, [r1, #16] 2065 .L154: 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2066 .loc 1 881 7 is_stmt 1 view .LVU690 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2067 .loc 1 881 25 is_stmt 0 view .LVU691 2068 0032 8C68 ldr r4, [r1, #8] 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2069 .loc 1 881 21 view .LVU692 2070 0034 0C62 str r4, [r1, #32] 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 2071 .loc 1 883 7 is_stmt 1 view .LVU693 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 2072 .loc 1 883 24 is_stmt 0 view .LVU694 2073 0036 1D69 ldr r5, [r3, #16] 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 2074 .loc 1 883 63 view .LVU695 2075 0038 C4F31204 ubfx r4, r4, #0, #19 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 2076 .loc 1 883 35 view .LVU696 2077 003c 2C43 orrs r4, r4, r5 2078 003e 1C61 str r4, [r3, #16] 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2079 .loc 1 884 7 is_stmt 1 view .LVU697 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2080 .loc 1 884 24 is_stmt 0 view .LVU698 2081 0040 1C69 ldr r4, [r3, #16] 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2082 .loc 1 884 35 view .LVU699 2083 0042 44F40024 orr r4, r4, #524288 2084 0046 1C61 str r4, [r3, #16] 2085 .L155: ARM GAS /tmp/cc5wsx2R.s page 74 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2086 .loc 1 903 5 is_stmt 1 view .LVU700 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2087 .loc 1 903 8 is_stmt 0 view .LVU701 2088 0048 012A cmp r2, #1 2089 004a 00F0DF80 beq .L162 2090 .LVL136: 2091 .L157: 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2092 .loc 1 911 5 is_stmt 1 view .LVU702 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2093 .loc 1 911 11 is_stmt 0 view .LVU703 2094 004e 0B79 ldrb r3, [r1, #4] @ zero_extendqisi2 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2095 .loc 1 911 8 view .LVU704 2096 0050 012B cmp r3, #1 2097 0052 00F0E180 beq .L163 2098 .L158: 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2099 .loc 1 923 5 is_stmt 1 view .LVU705 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2100 .loc 1 923 22 is_stmt 0 view .LVU706 2101 0056 DCF8003B ldr r3, [ip, #2816] 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2102 .loc 1 923 32 view .LVU707 2103 005a 43F00443 orr r3, r3, #-2080374784 2104 005e CCF8003B str r3, [ip, #2816] 2105 .LVL137: 2106 .L149: 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2107 .loc 1 926 3 is_stmt 1 view .LVU708 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2108 .loc 1 927 1 is_stmt 0 view .LVU709 2109 0062 0020 movs r0, #0 2110 0064 03B0 add sp, sp, #12 2111 .LCFI32: 2112 .cfi_remember_state 2113 .cfi_def_cfa_offset 20 2114 @ sp needed 2115 0066 F0BD pop {r4, r5, r6, r7, pc} 2116 .LVL138: 2117 .L161: 2118 .LCFI33: 2119 .cfi_restore_state 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2120 .loc 1 774 5 is_stmt 1 view .LVU710 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2121 .loc 1 774 11 is_stmt 0 view .LVU711 2122 0068 0B69 ldr r3, [r1, #16] 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2123 .loc 1 774 8 view .LVU712 2124 006a 73BB cbnz r3, .L140 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 2125 .loc 1 776 7 is_stmt 1 view .LVU713 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 2126 .loc 1 776 23 is_stmt 0 view .LVU714 2127 006c 00EB4413 add r3, r0, r4, lsl #5 ARM GAS /tmp/cc5wsx2R.s page 75 2128 0070 D3F81059 ldr r5, [r3, #2320] 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 2129 .loc 1 776 34 view .LVU715 2130 0074 6FF3DC45 bfc r5, #19, #10 2131 0078 C3F81059 str r5, [r3, #2320] 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 2132 .loc 1 777 7 is_stmt 1 view .LVU716 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 2133 .loc 1 777 23 is_stmt 0 view .LVU717 2134 007c D3F81059 ldr r5, [r3, #2320] 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 2135 .loc 1 777 34 view .LVU718 2136 0080 45F40025 orr r5, r5, #524288 2137 0084 C3F81059 str r5, [r3, #2320] 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2138 .loc 1 778 7 is_stmt 1 view .LVU719 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2139 .loc 1 778 23 is_stmt 0 view .LVU720 2140 0088 D3F81059 ldr r5, [r3, #2320] 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2141 .loc 1 778 34 view .LVU721 2142 008c 6FF31205 bfc r5, #0, #19 2143 0090 C3F81059 str r5, [r3, #2320] 2144 .L141: 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2145 .loc 1 814 5 is_stmt 1 view .LVU722 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2146 .loc 1 814 8 is_stmt 0 view .LVU723 2147 0094 012A cmp r2, #1 2148 0096 54D0 beq .L164 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2149 .loc 1 839 7 is_stmt 1 view .LVU724 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2150 .loc 1 839 23 is_stmt 0 view .LVU725 2151 0098 00EB4414 add r4, r0, r4, lsl #5 2152 .LVL139: 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2153 .loc 1 839 23 view .LVU726 2154 009c D4F80039 ldr r3, [r4, #2304] 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2155 .loc 1 839 33 view .LVU727 2156 00a0 43F00443 orr r3, r3, #-2080374784 2157 00a4 C4F80039 str r3, [r4, #2304] 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2158 .loc 1 841 7 is_stmt 1 view .LVU728 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2159 .loc 1 841 13 is_stmt 0 view .LVU729 2160 00a8 0B79 ldrb r3, [r1, #4] @ zero_extendqisi2 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2161 .loc 1 841 10 view .LVU730 2162 00aa 012B cmp r3, #1 2163 00ac 72D0 beq .L150 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2164 .loc 1 844 9 is_stmt 1 view .LVU731 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2165 .loc 1 844 15 is_stmt 0 view .LVU732 2166 00ae 0B69 ldr r3, [r1, #16] ARM GAS /tmp/cc5wsx2R.s page 76 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2167 .loc 1 844 12 view .LVU733 2168 00b0 002B cmp r3, #0 2169 00b2 D6D0 beq .L149 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2170 .loc 1 846 11 is_stmt 1 view .LVU734 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2171 .loc 1 846 22 is_stmt 0 view .LVU735 2172 00b4 D0F83438 ldr r3, [r0, #2100] 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2173 .loc 1 846 48 view .LVU736 2174 00b8 0978 ldrb r1, [r1] @ zero_extendqisi2 2175 .LVL140: 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2176 .loc 1 846 54 view .LVU737 2177 00ba 01F00F01 and r1, r1, #15 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2178 .loc 1 846 42 view .LVU738 2179 00be 0122 movs r2, #1 2180 .LVL141: 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2181 .loc 1 846 42 view .LVU739 2182 00c0 8A40 lsls r2, r2, r1 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2183 .loc 1 846 35 view .LVU740 2184 00c2 1343 orrs r3, r3, r2 2185 00c4 C0F83438 str r3, [r0, #2100] 2186 00c8 CBE7 b .L149 2187 .LVL142: 2188 .L140: 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 2189 .loc 1 787 7 is_stmt 1 view .LVU741 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 2190 .loc 1 787 23 is_stmt 0 view .LVU742 2191 00ca 00EB4413 add r3, r0, r4, lsl #5 2192 00ce 03F51063 add r3, r3, #2304 2193 00d2 1D69 ldr r5, [r3, #16] 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 2194 .loc 1 787 34 view .LVU743 2195 00d4 6FF31205 bfc r5, #0, #19 2196 00d8 1D61 str r5, [r3, #16] 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2197 .loc 1 788 7 is_stmt 1 view .LVU744 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2198 .loc 1 788 23 is_stmt 0 view .LVU745 2199 00da 1D69 ldr r5, [r3, #16] 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2200 .loc 1 788 34 view .LVU746 2201 00dc 6FF3DC45 bfc r5, #19, #10 2202 00e0 1D61 str r5, [r3, #16] 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2203 .loc 1 790 7 is_stmt 1 view .LVU747 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2204 .loc 1 790 10 is_stmt 0 view .LVU748 2205 00e2 84B9 cbnz r4, .L142 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2206 .loc 1 792 9 is_stmt 1 view .LVU749 ARM GAS /tmp/cc5wsx2R.s page 77 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2207 .loc 1 792 15 is_stmt 0 view .LVU750 2208 00e4 0E69 ldr r6, [r1, #16] 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2209 .loc 1 792 30 view .LVU751 2210 00e6 8D68 ldr r5, [r1, #8] 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2211 .loc 1 792 12 view .LVU752 2212 00e8 AE42 cmp r6, r5 2213 00ea 00D9 bls .L143 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2214 .loc 1 794 11 is_stmt 1 view .LVU753 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2215 .loc 1 794 24 is_stmt 0 view .LVU754 2216 00ec 0D61 str r5, [r1, #16] 2217 .L143: 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2218 .loc 1 797 9 is_stmt 1 view .LVU755 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2219 .loc 1 797 25 is_stmt 0 view .LVU756 2220 00ee 1D69 ldr r5, [r3, #16] 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2221 .loc 1 797 36 view .LVU757 2222 00f0 45F40025 orr r5, r5, #524288 2223 00f4 1D61 str r5, [r3, #16] 2224 .L144: 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2225 .loc 1 811 7 is_stmt 1 view .LVU758 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2226 .loc 1 811 23 is_stmt 0 view .LVU759 2227 00f6 1D69 ldr r5, [r3, #16] 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2228 .loc 1 811 62 view .LVU760 2229 00f8 0E69 ldr r6, [r1, #16] 2230 00fa C6F3120C ubfx ip, r6, #0, #19 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2231 .loc 1 811 34 view .LVU761 2232 00fe 45EA0C05 orr r5, r5, ip 2233 0102 1D61 str r5, [r3, #16] 2234 0104 C6E7 b .L141 2235 .L142: 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19)); 2236 .loc 1 801 9 is_stmt 1 view .LVU762 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19)); 2237 .loc 1 801 32 is_stmt 0 view .LVU763 2238 0106 0D69 ldr r5, [r1, #16] 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19)); 2239 .loc 1 801 47 view .LVU764 2240 0108 8E68 ldr r6, [r1, #8] 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19)); 2241 .loc 1 801 43 view .LVU765 2242 010a 3544 add r5, r5, r6 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19)); 2243 .loc 1 801 59 view .LVU766 2244 010c 013D subs r5, r5, #1 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19)); 2245 .loc 1 801 65 view .LVU767 ARM GAS /tmp/cc5wsx2R.s page 78 2246 010e B5FBF6F5 udiv r5, r5, r6 2247 .LVL143: 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2248 .loc 1 802 9 is_stmt 1 view .LVU768 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2249 .loc 1 802 25 is_stmt 0 view .LVU769 2250 0112 1E69 ldr r6, [r3, #16] 2251 0114 1FFA85FC uxth ip, r5 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2252 .loc 1 802 64 view .LVU770 2253 0118 494F ldr r7, .L166 2254 011a 07EAC545 and r5, r7, r5, lsl #19 2255 .LVL144: 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2256 .loc 1 802 36 view .LVU771 2257 011e 3543 orrs r5, r5, r6 2258 0120 1D61 str r5, [r3, #16] 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2259 .loc 1 804 9 is_stmt 1 view .LVU772 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2260 .loc 1 804 15 is_stmt 0 view .LVU773 2261 0122 0D79 ldrb r5, [r1, #4] @ zero_extendqisi2 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2262 .loc 1 804 12 view .LVU774 2263 0124 012D cmp r5, #1 2264 0126 E6D1 bne .L144 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & ((uint32_t)pktcnt << 29)); 2265 .loc 1 806 11 is_stmt 1 view .LVU775 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & ((uint32_t)pktcnt << 29)); 2266 .loc 1 806 27 is_stmt 0 view .LVU776 2267 0128 1D69 ldr r5, [r3, #16] 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & ((uint32_t)pktcnt << 29)); 2268 .loc 1 806 38 view .LVU777 2269 012a 25F0C045 bic r5, r5, #1610612736 2270 012e 1D61 str r5, [r3, #16] 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2271 .loc 1 807 11 is_stmt 1 view .LVU778 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2272 .loc 1 807 27 is_stmt 0 view .LVU779 2273 0130 1D69 ldr r5, [r3, #16] 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2274 .loc 1 807 86 view .LVU780 2275 0132 4FEA4C7C lsl ip, ip, #29 2276 .LVL145: 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2277 .loc 1 807 66 view .LVU781 2278 0136 0CF0C04C and ip, ip, #1610612736 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2279 .loc 1 807 38 view .LVU782 2280 013a 45EA0C05 orr r5, r5, ip 2281 013e 1D61 str r5, [r3, #16] 2282 0140 D9E7 b .L144 2283 .LVL146: 2284 .L164: 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2285 .loc 1 816 7 is_stmt 1 view .LVU783 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 79 2286 .loc 1 816 23 is_stmt 0 view .LVU784 2287 0142 CB69 ldr r3, [r1, #28] 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2288 .loc 1 816 10 view .LVU785 2289 0144 1BB1 cbz r3, .L146 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2290 .loc 1 818 9 is_stmt 1 view .LVU786 2291 0146 00EB4412 add r2, r0, r4, lsl #5 2292 .LVL147: 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2293 .loc 1 818 35 is_stmt 0 view .LVU787 2294 014a C2F81439 str r3, [r2, #2324] 2295 .L146: 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2296 .loc 1 821 7 is_stmt 1 view .LVU788 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2297 .loc 1 821 13 is_stmt 0 view .LVU789 2298 014e 0B79 ldrb r3, [r1, #4] @ zero_extendqisi2 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2299 .loc 1 821 10 view .LVU790 2300 0150 012B cmp r3, #1 2301 0152 08D0 beq .L165 2302 .L147: 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2303 .loc 1 834 7 is_stmt 1 view .LVU791 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2304 .loc 1 834 23 is_stmt 0 view .LVU792 2305 0154 00EB4414 add r4, r0, r4, lsl #5 2306 .LVL148: 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2307 .loc 1 834 23 view .LVU793 2308 0158 D4F80039 ldr r3, [r4, #2304] 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2309 .loc 1 834 33 view .LVU794 2310 015c 43F00443 orr r3, r3, #-2080374784 2311 0160 C4F80039 str r3, [r4, #2304] 2312 0164 7DE7 b .L149 2313 .LVL149: 2314 .L165: 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2315 .loc 1 823 9 is_stmt 1 view .LVU795 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2316 .loc 1 823 25 is_stmt 0 view .LVU796 2317 0166 D0F80838 ldr r3, [r0, #2056] 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2318 .loc 1 823 12 view .LVU797 2319 016a 13F4807F tst r3, #256 2320 016e 08D1 bne .L148 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2321 .loc 1 825 11 is_stmt 1 view .LVU798 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2322 .loc 1 825 27 is_stmt 0 view .LVU799 2323 0170 00EB4412 add r2, r0, r4, lsl #5 2324 0174 D2F80039 ldr r3, [r2, #2304] 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2325 .loc 1 825 37 view .LVU800 2326 0178 43F00053 orr r3, r3, #536870912 ARM GAS /tmp/cc5wsx2R.s page 80 2327 017c C2F80039 str r3, [r2, #2304] 2328 0180 E8E7 b .L147 2329 .L148: 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2330 .loc 1 829 11 is_stmt 1 view .LVU801 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2331 .loc 1 829 27 is_stmt 0 view .LVU802 2332 0182 00EB4412 add r2, r0, r4, lsl #5 2333 0186 D2F80039 ldr r3, [r2, #2304] 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2334 .loc 1 829 37 view .LVU803 2335 018a 43F08053 orr r3, r3, #268435456 2336 018e C2F80039 str r3, [r2, #2304] 2337 0192 DFE7 b .L147 2338 .LVL150: 2339 .L150: 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2340 .loc 1 851 9 is_stmt 1 view .LVU804 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2341 .loc 1 851 25 is_stmt 0 view .LVU805 2342 0194 D0F80838 ldr r3, [r0, #2056] 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2343 .loc 1 851 12 view .LVU806 2344 0198 13F4807F tst r3, #256 2345 019c 0CD1 bne .L151 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2346 .loc 1 853 11 is_stmt 1 view .LVU807 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2347 .loc 1 853 27 is_stmt 0 view .LVU808 2348 019e D4F80039 ldr r3, [r4, #2304] 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2349 .loc 1 853 37 view .LVU809 2350 01a2 43F00053 orr r3, r3, #536870912 2351 01a6 C4F80039 str r3, [r4, #2304] 2352 .L152: 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2353 .loc 1 860 9 is_stmt 1 view .LVU810 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2354 .loc 1 860 15 is_stmt 0 view .LVU811 2355 01aa 0092 str r2, [sp] 2356 01ac 0B8A ldrh r3, [r1, #16] 2357 01ae 0A78 ldrb r2, [r1] @ zero_extendqisi2 2358 .LVL151: 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2359 .loc 1 860 15 view .LVU812 2360 01b0 C968 ldr r1, [r1, #12] 2361 .LVL152: 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2362 .loc 1 860 15 view .LVU813 2363 01b2 FFF7FEFF bl USB_WritePacket 2364 .LVL153: 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2365 .loc 1 860 15 view .LVU814 2366 01b6 54E7 b .L149 2367 .LVL154: 2368 .L151: 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } ARM GAS /tmp/cc5wsx2R.s page 81 2369 .loc 1 857 11 is_stmt 1 view .LVU815 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2370 .loc 1 857 27 is_stmt 0 view .LVU816 2371 01b8 D4F80039 ldr r3, [r4, #2304] 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2372 .loc 1 857 37 view .LVU817 2373 01bc 43F08053 orr r3, r3, #268435456 2374 01c0 C4F80039 str r3, [r4, #2304] 2375 01c4 F1E7 b .L152 2376 .LVL155: 2377 .L153: 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2378 .loc 1 888 7 is_stmt 1 view .LVU818 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2379 .loc 1 888 13 is_stmt 0 view .LVU819 2380 01c6 0C69 ldr r4, [r1, #16] 2381 .LVL156: 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2382 .loc 1 888 10 view .LVU820 2383 01c8 54B9 cbnz r4, .L156 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 2384 .loc 1 890 9 is_stmt 1 view .LVU821 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 2385 .loc 1 890 26 is_stmt 0 view .LVU822 2386 01ca 1C69 ldr r4, [r3, #16] 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 2387 .loc 1 890 69 view .LVU823 2388 01cc 8D68 ldr r5, [r1, #8] 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 2389 .loc 1 890 65 view .LVU824 2390 01ce C5F31205 ubfx r5, r5, #0, #19 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 2391 .loc 1 890 37 view .LVU825 2392 01d2 2C43 orrs r4, r4, r5 2393 01d4 1C61 str r4, [r3, #16] 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2394 .loc 1 891 9 is_stmt 1 view .LVU826 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2395 .loc 1 891 26 is_stmt 0 view .LVU827 2396 01d6 1C69 ldr r4, [r3, #16] 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2397 .loc 1 891 37 view .LVU828 2398 01d8 44F40024 orr r4, r4, #524288 2399 01dc 1C61 str r4, [r3, #16] 2400 01de 33E7 b .L155 2401 .L156: 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ep->xfer_size = ep->maxpacket * pktcnt; 2402 .loc 1 895 9 is_stmt 1 view .LVU829 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ep->xfer_size = ep->maxpacket * pktcnt; 2403 .loc 1 895 47 is_stmt 0 view .LVU830 2404 01e0 8D68 ldr r5, [r1, #8] 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ep->xfer_size = ep->maxpacket * pktcnt; 2405 .loc 1 895 43 view .LVU831 2406 01e2 2C44 add r4, r4, r5 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ep->xfer_size = ep->maxpacket * pktcnt; 2407 .loc 1 895 59 view .LVU832 2408 01e4 013C subs r4, r4, #1 ARM GAS /tmp/cc5wsx2R.s page 82 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ep->xfer_size = ep->maxpacket * pktcnt; 2409 .loc 1 895 65 view .LVU833 2410 01e6 B4FBF5F4 udiv r4, r4, r5 2411 .LVL157: 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2412 .loc 1 896 9 is_stmt 1 view .LVU834 2413 01ea A4B2 uxth r4, r4 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2414 .loc 1 896 39 is_stmt 0 view .LVU835 2415 01ec 04FB05F5 mul r5, r4, r5 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2416 .loc 1 896 23 view .LVU836 2417 01f0 0D62 str r5, [r1, #32] 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & ep->xfer_size; 2418 .loc 1 898 9 is_stmt 1 view .LVU837 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & ep->xfer_size; 2419 .loc 1 898 26 is_stmt 0 view .LVU838 2420 01f2 1D69 ldr r5, [r3, #16] 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & ep->xfer_size; 2421 .loc 1 898 64 view .LVU839 2422 01f4 124E ldr r6, .L166 2423 01f6 06EAC444 and r4, r6, r4, lsl #19 2424 .LVL158: 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & ep->xfer_size; 2425 .loc 1 898 37 view .LVU840 2426 01fa 2C43 orrs r4, r4, r5 2427 01fc 1C61 str r4, [r3, #16] 2428 .LVL159: 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2429 .loc 1 899 9 is_stmt 1 view .LVU841 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2430 .loc 1 899 26 is_stmt 0 view .LVU842 2431 01fe 1C69 ldr r4, [r3, #16] 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2432 .loc 1 899 68 view .LVU843 2433 0200 0D6A ldr r5, [r1, #32] 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2434 .loc 1 899 64 view .LVU844 2435 0202 C5F31205 ubfx r5, r5, #0, #19 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2436 .loc 1 899 37 view .LVU845 2437 0206 2C43 orrs r4, r4, r5 2438 0208 1C61 str r4, [r3, #16] 2439 020a 1DE7 b .L155 2440 .LVL160: 2441 .L162: 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2442 .loc 1 905 7 is_stmt 1 view .LVU846 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2443 .loc 1 905 23 is_stmt 0 view .LVU847 2444 020c CA68 ldr r2, [r1, #12] 2445 .LVL161: 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2446 .loc 1 905 10 view .LVU848 2447 020e 002A cmp r2, #0 2448 0210 3FF41DAF beq .L157 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } ARM GAS /tmp/cc5wsx2R.s page 83 2449 .loc 1 907 9 is_stmt 1 view .LVU849 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2450 .loc 1 907 36 is_stmt 0 view .LVU850 2451 0214 5A61 str r2, [r3, #20] 2452 0216 1AE7 b .L157 2453 .L163: 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2454 .loc 1 913 7 is_stmt 1 view .LVU851 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2455 .loc 1 913 23 is_stmt 0 view .LVU852 2456 0218 D0F80838 ldr r3, [r0, #2056] 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2457 .loc 1 913 10 view .LVU853 2458 021c 13F4807F tst r3, #256 2459 0220 06D1 bne .L159 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2460 .loc 1 915 9 is_stmt 1 view .LVU854 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2461 .loc 1 915 26 is_stmt 0 view .LVU855 2462 0222 DCF8003B ldr r3, [ip, #2816] 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2463 .loc 1 915 36 view .LVU856 2464 0226 43F00053 orr r3, r3, #536870912 2465 022a CCF8003B str r3, [ip, #2816] 2466 022e 12E7 b .L158 2467 .L159: 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2468 .loc 1 919 9 is_stmt 1 view .LVU857 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2469 .loc 1 919 26 is_stmt 0 view .LVU858 2470 0230 DCF8003B ldr r3, [ip, #2816] 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2471 .loc 1 919 36 view .LVU859 2472 0234 43F08053 orr r3, r3, #268435456 2473 0238 CCF8003B str r3, [ip, #2816] 2474 023c 0BE7 b .L158 2475 .L167: 2476 023e 00BF .align 2 2477 .L166: 2478 0240 0000F81F .word 536346624 2479 .cfi_endproc 2480 .LFE253: 2482 .section .text.USB_ReadPacket,"ax",%progbits 2483 .align 1 2484 .global USB_ReadPacket 2485 .syntax unified 2486 .thumb 2487 .thumb_func 2489 USB_ReadPacket: 2490 .LVL162: 2491 .LFB256: 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2492 .loc 1 1032 1 is_stmt 1 view -0 2493 .cfi_startproc 2494 @ args = 0, pretend = 0, frame = 0 2495 @ frame_needed = 0, uses_anonymous_args = 0 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; ARM GAS /tmp/cc5wsx2R.s page 84 2496 .loc 1 1032 1 is_stmt 0 view .LVU861 2497 0000 10B5 push {r4, lr} 2498 .LCFI34: 2499 .cfi_def_cfa_offset 8 2500 .cfi_offset 4, -8 2501 .cfi_offset 14, -4 2502 0002 8446 mov ip, r0 2503 0004 0846 mov r0, r1 2504 .LVL163: 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t *pDest = dest; 2505 .loc 1 1033 3 is_stmt 1 view .LVU862 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t pData; 2506 .loc 1 1034 3 view .LVU863 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 2507 .loc 1 1035 3 view .LVU864 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t count32b = (uint32_t)len >> 2U; 2508 .loc 1 1036 3 view .LVU865 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t remaining_bytes = len % 4U; 2509 .loc 1 1037 3 view .LVU866 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t remaining_bytes = len % 4U; 2510 .loc 1 1037 37 is_stmt 0 view .LVU867 2511 0006 4FEA920E lsr lr, r2, #2 2512 .LVL164: 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2513 .loc 1 1038 3 is_stmt 1 view .LVU868 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2514 .loc 1 1038 12 is_stmt 0 view .LVU869 2515 000a 02F00302 and r2, r2, #3 2516 .LVL165: 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2517 .loc 1 1040 3 is_stmt 1 view .LVU870 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2518 .loc 1 1040 10 is_stmt 0 view .LVU871 2519 000e 0023 movs r3, #0 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2520 .loc 1 1040 3 view .LVU872 2521 0010 05E0 b .L169 2522 .LVL166: 2523 .L170: 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 2524 .loc 1 1042 5 is_stmt 1 view .LVU873 2525 0012 0CF58051 add r1, ip, #4096 2526 0016 0968 ldr r1, [r1] 2527 0018 40F8041B str r1, [r0], #4 @ unaligned 2528 .LVL167: 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 2529 .loc 1 1043 5 view .LVU874 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 2530 .loc 1 1044 5 view .LVU875 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 2531 .loc 1 1045 5 view .LVU876 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2532 .loc 1 1046 5 view .LVU877 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2533 .loc 1 1040 31 discriminator 3 view .LVU878 2534 001c 0133 adds r3, r3, #1 2535 .LVL168: ARM GAS /tmp/cc5wsx2R.s page 85 2536 .L169: 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2537 .loc 1 1040 18 discriminator 1 view .LVU879 2538 001e 7345 cmp r3, lr 2539 0020 F7D3 bcc .L170 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2540 .loc 1 1050 3 view .LVU880 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2541 .loc 1 1050 6 is_stmt 0 view .LVU881 2542 0022 7AB1 cbz r2, .L171 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __UNALIGNED_UINT32_WRITE(&pData, USBx_DFIFO(0U)); 2543 .loc 1 1052 5 is_stmt 1 view .LVU882 2544 .LVL169: 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2545 .loc 1 1053 5 view .LVU883 2546 0024 0CF5805C add ip, ip, #4096 2547 .LVL170: 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2548 .loc 1 1053 5 is_stmt 0 view .LVU884 2549 0028 DCF80040 ldr r4, [ip] 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __UNALIGNED_UINT32_WRITE(&pData, USBx_DFIFO(0U)); 2550 .loc 1 1052 7 view .LVU885 2551 002c 0021 movs r1, #0 2552 .LVL171: 2553 .L172: 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2554 .loc 1 1055 5 is_stmt 1 view .LVU886 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** i++; 2555 .loc 1 1057 7 view .LVU887 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** i++; 2556 .loc 1 1057 50 is_stmt 0 view .LVU888 2557 002e CBB2 uxtb r3, r1 2558 0030 DB00 lsls r3, r3, #3 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** i++; 2559 .loc 1 1057 43 view .LVU889 2560 0032 24FA03F3 lsr r3, r4, r3 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** i++; 2561 .loc 1 1057 25 view .LVU890 2562 0036 00F8013B strb r3, [r0], #1 2563 .LVL172: 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 2564 .loc 1 1058 7 is_stmt 1 view .LVU891 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 2565 .loc 1 1058 8 is_stmt 0 view .LVU892 2566 003a 0131 adds r1, r1, #1 2567 .LVL173: 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** remaining_bytes--; 2568 .loc 1 1059 7 is_stmt 1 view .LVU893 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while (remaining_bytes != 0U); 2569 .loc 1 1060 7 view .LVU894 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while (remaining_bytes != 0U); 2570 .loc 1 1060 22 is_stmt 0 view .LVU895 2571 003c 013A subs r2, r2, #1 2572 .LVL174: 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while (remaining_bytes != 0U); 2573 .loc 1 1060 22 view .LVU896 2574 003e 92B2 uxth r2, r2 ARM GAS /tmp/cc5wsx2R.s page 86 2575 .LVL175: 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2576 .loc 1 1061 30 is_stmt 1 discriminator 1 view .LVU897 2577 0040 002A cmp r2, #0 2578 0042 F4D1 bne .L172 2579 .LVL176: 2580 .L171: 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2581 .loc 1 1064 3 view .LVU898 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2582 .loc 1 1065 1 is_stmt 0 view .LVU899 2583 0044 10BD pop {r4, pc} 2584 .cfi_endproc 2585 .LFE256: 2587 .section .text.USB_EPSetStall,"ax",%progbits 2588 .align 1 2589 .global USB_EPSetStall 2590 .syntax unified 2591 .thumb 2592 .thumb_func 2594 USB_EPSetStall: 2595 .LVL177: 2596 .LFB257: 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2597 .loc 1 1074 1 is_stmt 1 view -0 2598 .cfi_startproc 2599 @ args = 0, pretend = 0, frame = 0 2600 @ frame_needed = 0, uses_anonymous_args = 0 2601 @ link register save eliminated. 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 2602 .loc 1 1075 3 view .LVU901 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2603 .loc 1 1076 3 view .LVU902 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2604 .loc 1 1076 32 is_stmt 0 view .LVU903 2605 0000 0B78 ldrb r3, [r1] @ zero_extendqisi2 2606 .LVL178: 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2607 .loc 1 1078 3 is_stmt 1 view .LVU904 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2608 .loc 1 1078 9 is_stmt 0 view .LVU905 2609 0002 4A78 ldrb r2, [r1, #1] @ zero_extendqisi2 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2610 .loc 1 1078 6 view .LVU906 2611 0004 012A cmp r2, #1 2612 0006 14D0 beq .L179 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2613 .loc 1 1088 5 is_stmt 1 view .LVU907 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2614 .loc 1 1088 11 is_stmt 0 view .LVU908 2615 0008 00EB4310 add r0, r0, r3, lsl #5 2616 .LVL179: 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2617 .loc 1 1088 28 view .LVU909 2618 000c D0F8002B ldr r2, [r0, #2816] 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2619 .loc 1 1088 8 view .LVU910 ARM GAS /tmp/cc5wsx2R.s page 87 2620 0010 002A cmp r2, #0 2621 0012 06DB blt .L178 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2622 .loc 1 1088 70 discriminator 1 view .LVU911 2623 0014 2BB1 cbz r3, .L178 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2624 .loc 1 1090 7 is_stmt 1 view .LVU912 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2625 .loc 1 1090 24 is_stmt 0 view .LVU913 2626 0016 D0F8003B ldr r3, [r0, #2816] 2627 .LVL180: 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2628 .loc 1 1090 34 view .LVU914 2629 001a 23F08043 bic r3, r3, #1073741824 2630 001e C0F8003B str r3, [r0, #2816] 2631 .LVL181: 2632 .L178: 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2633 .loc 1 1092 5 is_stmt 1 view .LVU915 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2634 .loc 1 1092 22 is_stmt 0 view .LVU916 2635 0022 D0F8003B ldr r3, [r0, #2816] 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2636 .loc 1 1092 32 view .LVU917 2637 0026 43F40013 orr r3, r3, #2097152 2638 002a C0F8003B str r3, [r0, #2816] 2639 .L177: 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2640 .loc 1 1095 3 is_stmt 1 view .LVU918 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2641 .loc 1 1096 1 is_stmt 0 view .LVU919 2642 002e 0020 movs r0, #0 2643 0030 7047 bx lr 2644 .LVL182: 2645 .L179: 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2646 .loc 1 1080 5 is_stmt 1 view .LVU920 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2647 .loc 1 1080 11 is_stmt 0 view .LVU921 2648 0032 00EB4310 add r0, r0, r3, lsl #5 2649 .LVL183: 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2650 .loc 1 1080 27 view .LVU922 2651 0036 D0F80029 ldr r2, [r0, #2304] 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2652 .loc 1 1080 8 view .LVU923 2653 003a 002A cmp r2, #0 2654 003c 06DB blt .L176 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2655 .loc 1 1080 69 discriminator 1 view .LVU924 2656 003e 2BB1 cbz r3, .L176 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2657 .loc 1 1082 7 is_stmt 1 view .LVU925 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2658 .loc 1 1082 23 is_stmt 0 view .LVU926 2659 0040 D0F80039 ldr r3, [r0, #2304] 2660 .LVL184: ARM GAS /tmp/cc5wsx2R.s page 88 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2661 .loc 1 1082 33 view .LVU927 2662 0044 23F08043 bic r3, r3, #1073741824 2663 0048 C0F80039 str r3, [r0, #2304] 2664 .LVL185: 2665 .L176: 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2666 .loc 1 1084 5 is_stmt 1 view .LVU928 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2667 .loc 1 1084 21 is_stmt 0 view .LVU929 2668 004c D0F80039 ldr r3, [r0, #2304] 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2669 .loc 1 1084 31 view .LVU930 2670 0050 43F40013 orr r3, r3, #2097152 2671 0054 C0F80039 str r3, [r0, #2304] 2672 0058 E9E7 b .L177 2673 .cfi_endproc 2674 .LFE257: 2676 .section .text.USB_EPClearStall,"ax",%progbits 2677 .align 1 2678 .global USB_EPClearStall 2679 .syntax unified 2680 .thumb 2681 .thumb_func 2683 USB_EPClearStall: 2684 .LVL186: 2685 .LFB258: 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2686 .loc 1 1105 1 is_stmt 1 view -0 2687 .cfi_startproc 2688 @ args = 0, pretend = 0, frame = 0 2689 @ frame_needed = 0, uses_anonymous_args = 0 2690 @ link register save eliminated. 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 2691 .loc 1 1106 3 view .LVU932 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2692 .loc 1 1107 3 view .LVU933 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2693 .loc 1 1107 32 is_stmt 0 view .LVU934 2694 0000 0B78 ldrb r3, [r1] @ zero_extendqisi2 2695 .LVL187: 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2696 .loc 1 1109 3 is_stmt 1 view .LVU935 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2697 .loc 1 1109 9 is_stmt 0 view .LVU936 2698 0002 4A78 ldrb r2, [r1, #1] @ zero_extendqisi2 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2699 .loc 1 1109 6 view .LVU937 2700 0004 012A cmp r2, #1 2701 0006 0ED0 beq .L183 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 2702 .loc 1 1119 5 is_stmt 1 view .LVU938 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 2703 .loc 1 1119 22 is_stmt 0 view .LVU939 2704 0008 00EB4310 add r0, r0, r3, lsl #5 2705 .LVL188: 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) ARM GAS /tmp/cc5wsx2R.s page 89 2706 .loc 1 1119 22 view .LVU940 2707 000c D0F8003B ldr r3, [r0, #2816] 2708 .LVL189: 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 2709 .loc 1 1119 32 view .LVU941 2710 0010 23F40013 bic r3, r3, #2097152 2711 0014 C0F8003B str r3, [r0, #2816] 2712 .LVL190: 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2713 .loc 1 1120 5 is_stmt 1 view .LVU942 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2714 .loc 1 1120 12 is_stmt 0 view .LVU943 2715 0018 0B79 ldrb r3, [r1, #4] @ zero_extendqisi2 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2716 .loc 1 1120 36 view .LVU944 2717 001a 023B subs r3, r3, #2 2718 001c DBB2 uxtb r3, r3 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2719 .loc 1 1120 8 view .LVU945 2720 001e 012B cmp r3, #1 2721 0020 15D9 bls .L184 2722 .L182: 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2723 .loc 1 1125 3 is_stmt 1 view .LVU946 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2724 .loc 1 1126 1 is_stmt 0 view .LVU947 2725 0022 0020 movs r0, #0 2726 0024 7047 bx lr 2727 .LVL191: 2728 .L183: 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 2729 .loc 1 1111 5 is_stmt 1 view .LVU948 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 2730 .loc 1 1111 21 is_stmt 0 view .LVU949 2731 0026 00EB4310 add r0, r0, r3, lsl #5 2732 .LVL192: 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 2733 .loc 1 1111 21 view .LVU950 2734 002a D0F80039 ldr r3, [r0, #2304] 2735 .LVL193: 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 2736 .loc 1 1111 31 view .LVU951 2737 002e 23F40013 bic r3, r3, #2097152 2738 0032 C0F80039 str r3, [r0, #2304] 2739 .LVL194: 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2740 .loc 1 1112 5 is_stmt 1 view .LVU952 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2741 .loc 1 1112 12 is_stmt 0 view .LVU953 2742 0036 0B79 ldrb r3, [r1, #4] @ zero_extendqisi2 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2743 .loc 1 1112 36 view .LVU954 2744 0038 023B subs r3, r3, #2 2745 003a DBB2 uxtb r3, r3 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2746 .loc 1 1112 8 view .LVU955 2747 003c 012B cmp r3, #1 ARM GAS /tmp/cc5wsx2R.s page 90 2748 003e F0D8 bhi .L182 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2749 .loc 1 1114 7 is_stmt 1 view .LVU956 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2750 .loc 1 1114 23 is_stmt 0 view .LVU957 2751 0040 D0F80039 ldr r3, [r0, #2304] 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2752 .loc 1 1114 33 view .LVU958 2753 0044 43F08053 orr r3, r3, #268435456 2754 0048 C0F80039 str r3, [r0, #2304] 2755 004c E9E7 b .L182 2756 .L184: 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2757 .loc 1 1122 7 is_stmt 1 view .LVU959 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2758 .loc 1 1122 24 is_stmt 0 view .LVU960 2759 004e D0F8003B ldr r3, [r0, #2816] 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2760 .loc 1 1122 34 view .LVU961 2761 0052 43F08053 orr r3, r3, #268435456 2762 0056 C0F8003B str r3, [r0, #2816] 2763 005a E2E7 b .L182 2764 .cfi_endproc 2765 .LFE258: 2767 .section .text.USB_StopDevice,"ax",%progbits 2768 .align 1 2769 .global USB_StopDevice 2770 .syntax unified 2771 .thumb 2772 .thumb_func 2774 USB_StopDevice: 2775 .LVL195: 2776 .LFB259: 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret; 2777 .loc 1 1134 1 is_stmt 1 view -0 2778 .cfi_startproc 2779 @ args = 0, pretend = 0, frame = 0 2780 @ frame_needed = 0, uses_anonymous_args = 0 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret; 2781 .loc 1 1134 1 is_stmt 0 view .LVU963 2782 0000 10B5 push {r4, lr} 2783 .LCFI35: 2784 .cfi_def_cfa_offset 8 2785 .cfi_offset 4, -8 2786 .cfi_offset 14, -4 2787 0002 0446 mov r4, r0 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2788 .loc 1 1135 3 is_stmt 1 view .LVU964 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 2789 .loc 1 1136 3 view .LVU965 2790 .LVL196: 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2791 .loc 1 1137 3 view .LVU966 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2792 .loc 1 1140 3 view .LVU967 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2793 .loc 1 1140 10 is_stmt 0 view .LVU968 ARM GAS /tmp/cc5wsx2R.s page 91 2794 0004 0022 movs r2, #0 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2795 .loc 1 1140 3 view .LVU969 2796 0006 08E0 b .L186 2797 .LVL197: 2798 .L187: 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 2799 .loc 1 1142 5 is_stmt 1 view .LVU970 2800 0008 04EB4213 add r3, r4, r2, lsl #5 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 2801 .loc 1 1142 27 is_stmt 0 view .LVU971 2802 000c 4FF67F31 movw r1, #64383 2803 0010 C3F80819 str r1, [r3, #2312] 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2804 .loc 1 1143 5 is_stmt 1 view .LVU972 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2805 .loc 1 1143 28 is_stmt 0 view .LVU973 2806 0014 C3F8081B str r1, [r3, #2824] 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2807 .loc 1 1140 26 is_stmt 1 discriminator 3 view .LVU974 2808 0018 0132 adds r2, r2, #1 2809 .LVL198: 2810 .L186: 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2811 .loc 1 1140 18 discriminator 1 view .LVU975 2812 001a 0E2A cmp r2, #14 2813 001c F4D9 bls .L187 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 2814 .loc 1 1147 3 view .LVU976 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 2815 .loc 1 1147 25 is_stmt 0 view .LVU977 2816 001e 0022 movs r2, #0 2817 .LVL199: 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 2818 .loc 1 1147 25 view .LVU978 2819 0020 C4F81028 str r2, [r4, #2064] 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK = 0U; 2820 .loc 1 1148 3 is_stmt 1 view .LVU979 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK = 0U; 2821 .loc 1 1148 25 is_stmt 0 view .LVU980 2822 0024 C4F81428 str r2, [r4, #2068] 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2823 .loc 1 1149 3 is_stmt 1 view .LVU981 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2824 .loc 1 1149 25 is_stmt 0 view .LVU982 2825 0028 C4F81C28 str r2, [r4, #2076] 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 2826 .loc 1 1152 3 is_stmt 1 view .LVU983 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 2827 .loc 1 1152 9 is_stmt 0 view .LVU984 2828 002c 2046 mov r0, r4 2829 .LVL200: 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 2830 .loc 1 1152 9 view .LVU985 2831 002e FFF7FEFF bl USB_FlushRxFifo 2832 .LVL201: 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 92 2833 .loc 1 1153 3 is_stmt 1 view .LVU986 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2834 .loc 1 1153 6 is_stmt 0 view .LVU987 2835 0032 00B1 cbz r0, .L190 2836 .L188: 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2837 .loc 1 1165 1 view .LVU988 2838 0034 10BD pop {r4, pc} 2839 .LVL202: 2840 .L190: 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 2841 .loc 1 1158 3 is_stmt 1 view .LVU989 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 2842 .loc 1 1158 9 is_stmt 0 view .LVU990 2843 0036 1021 movs r1, #16 2844 0038 2046 mov r0, r4 2845 .LVL203: 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 2846 .loc 1 1158 9 view .LVU991 2847 003a FFF7FEFF bl USB_FlushTxFifo 2848 .LVL204: 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2849 .loc 1 1159 3 is_stmt 1 view .LVU992 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2850 .loc 1 1161 5 view .LVU993 2851 003e F9E7 b .L188 2852 .cfi_endproc 2853 .LFE259: 2855 .section .text.USB_SetDevAddress,"ax",%progbits 2856 .align 1 2857 .global USB_SetDevAddress 2858 .syntax unified 2859 .thumb 2860 .thumb_func 2862 USB_SetDevAddress: 2863 .LVL205: 2864 .LFB260: 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2865 .loc 1 1175 1 view -0 2866 .cfi_startproc 2867 @ args = 0, pretend = 0, frame = 0 2868 @ frame_needed = 0, uses_anonymous_args = 0 2869 @ link register save eliminated. 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2870 .loc 1 1176 3 view .LVU995 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCFG |= ((uint32_t)address << 4) & USB_OTG_DCFG_DAD; 2871 .loc 1 1178 3 view .LVU996 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCFG |= ((uint32_t)address << 4) & USB_OTG_DCFG_DAD; 2872 .loc 1 1178 14 is_stmt 0 view .LVU997 2873 0000 D0F80038 ldr r3, [r0, #2048] 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCFG |= ((uint32_t)address << 4) & USB_OTG_DCFG_DAD; 2874 .loc 1 1178 21 view .LVU998 2875 0004 23F4FE63 bic r3, r3, #2032 2876 0008 C0F80038 str r3, [r0, #2048] 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2877 .loc 1 1179 3 is_stmt 1 view .LVU999 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/cc5wsx2R.s page 93 2878 .loc 1 1179 14 is_stmt 0 view .LVU1000 2879 000c D0F80038 ldr r3, [r0, #2048] 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2880 .loc 1 1179 43 view .LVU1001 2881 0010 0901 lsls r1, r1, #4 2882 .LVL206: 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2883 .loc 1 1179 49 view .LVU1002 2884 0012 01F4FE61 and r1, r1, #2032 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2885 .loc 1 1179 21 view .LVU1003 2886 0016 0B43 orrs r3, r3, r1 2887 0018 C0F80038 str r3, [r0, #2048] 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2888 .loc 1 1181 3 is_stmt 1 view .LVU1004 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2889 .loc 1 1182 1 is_stmt 0 view .LVU1005 2890 001c 0020 movs r0, #0 2891 .LVL207: 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2892 .loc 1 1182 1 view .LVU1006 2893 001e 7047 bx lr 2894 .cfi_endproc 2895 .LFE260: 2897 .section .text.USB_DevConnect,"ax",%progbits 2898 .align 1 2899 .global USB_DevConnect 2900 .syntax unified 2901 .thumb 2902 .thumb_func 2904 USB_DevConnect: 2905 .LVL208: 2906 .LFB261: 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2907 .loc 1 1190 1 is_stmt 1 view -0 2908 .cfi_startproc 2909 @ args = 0, pretend = 0, frame = 0 2910 @ frame_needed = 0, uses_anonymous_args = 0 2911 @ link register save eliminated. 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2912 .loc 1 1191 3 view .LVU1008 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2913 .loc 1 1194 3 view .LVU1009 2914 0000 D0F8003E ldr r3, [r0, #3584] 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2915 .loc 1 1194 16 is_stmt 0 view .LVU1010 2916 0004 23F00303 bic r3, r3, #3 2917 0008 C0F8003E str r3, [r0, #3584] 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2918 .loc 1 1196 3 is_stmt 1 view .LVU1011 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2919 .loc 1 1196 14 is_stmt 0 view .LVU1012 2920 000c D0F80438 ldr r3, [r0, #2052] 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2921 .loc 1 1196 21 view .LVU1013 2922 0010 23F00203 bic r3, r3, #2 2923 0014 C0F80438 str r3, [r0, #2052] ARM GAS /tmp/cc5wsx2R.s page 94 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2924 .loc 1 1198 3 is_stmt 1 view .LVU1014 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2925 .loc 1 1199 1 is_stmt 0 view .LVU1015 2926 0018 0020 movs r0, #0 2927 .LVL209: 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2928 .loc 1 1199 1 view .LVU1016 2929 001a 7047 bx lr 2930 .cfi_endproc 2931 .LFE261: 2933 .section .text.USB_DevDisconnect,"ax",%progbits 2934 .align 1 2935 .global USB_DevDisconnect 2936 .syntax unified 2937 .thumb 2938 .thumb_func 2940 USB_DevDisconnect: 2941 .LVL210: 2942 .LFB262: 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2943 .loc 1 1207 1 is_stmt 1 view -0 2944 .cfi_startproc 2945 @ args = 0, pretend = 0, frame = 0 2946 @ frame_needed = 0, uses_anonymous_args = 0 2947 @ link register save eliminated. 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2948 .loc 1 1208 3 view .LVU1018 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2949 .loc 1 1211 3 view .LVU1019 2950 0000 D0F8003E ldr r3, [r0, #3584] 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2951 .loc 1 1211 16 is_stmt 0 view .LVU1020 2952 0004 23F00303 bic r3, r3, #3 2953 0008 C0F8003E str r3, [r0, #3584] 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2954 .loc 1 1213 3 is_stmt 1 view .LVU1021 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2955 .loc 1 1213 14 is_stmt 0 view .LVU1022 2956 000c D0F80438 ldr r3, [r0, #2052] 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2957 .loc 1 1213 21 view .LVU1023 2958 0010 43F00203 orr r3, r3, #2 2959 0014 C0F80438 str r3, [r0, #2052] 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2960 .loc 1 1215 3 is_stmt 1 view .LVU1024 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2961 .loc 1 1216 1 is_stmt 0 view .LVU1025 2962 0018 0020 movs r0, #0 2963 .LVL211: 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2964 .loc 1 1216 1 view .LVU1026 2965 001a 7047 bx lr 2966 .cfi_endproc 2967 .LFE262: 2969 .section .text.USB_ReadInterrupts,"ax",%progbits 2970 .align 1 ARM GAS /tmp/cc5wsx2R.s page 95 2971 .global USB_ReadInterrupts 2972 .syntax unified 2973 .thumb 2974 .thumb_func 2976 USB_ReadInterrupts: 2977 .LVL212: 2978 .LFB263: 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 2979 .loc 1 1224 1 is_stmt 1 view -0 2980 .cfi_startproc 2981 @ args = 0, pretend = 0, frame = 0 2982 @ frame_needed = 0, uses_anonymous_args = 0 2983 @ link register save eliminated. 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2984 .loc 1 1225 3 view .LVU1028 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx->GINTMSK; 2985 .loc 1 1227 3 view .LVU1029 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx->GINTMSK; 2986 .loc 1 1227 10 is_stmt 0 view .LVU1030 2987 0000 4269 ldr r2, [r0, #20] 2988 .LVL213: 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2989 .loc 1 1228 3 is_stmt 1 view .LVU1031 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2990 .loc 1 1228 17 is_stmt 0 view .LVU1032 2991 0002 8069 ldr r0, [r0, #24] 2992 .LVL214: 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2993 .loc 1 1230 3 is_stmt 1 view .LVU1033 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2994 .loc 1 1231 1 is_stmt 0 view .LVU1034 2995 0004 1040 ands r0, r0, r2 2996 .LVL215: 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2997 .loc 1 1231 1 view .LVU1035 2998 0006 7047 bx lr 2999 .cfi_endproc 3000 .LFE263: 3002 .section .text.USB_ReadChInterrupts,"ax",%progbits 3003 .align 1 3004 .global USB_ReadChInterrupts 3005 .syntax unified 3006 .thumb 3007 .thumb_func 3009 USB_ReadChInterrupts: 3010 .LVL216: 3011 .LFB264: 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3012 .loc 1 1240 1 is_stmt 1 view -0 3013 .cfi_startproc 3014 @ args = 0, pretend = 0, frame = 0 3015 @ frame_needed = 0, uses_anonymous_args = 0 3016 @ link register save eliminated. 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 3017 .loc 1 1241 3 view .LVU1037 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3018 .loc 1 1242 3 view .LVU1038 ARM GAS /tmp/cc5wsx2R.s page 96 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_HC(chnum)->HCINTMSK; 3019 .loc 1 1244 3 view .LVU1039 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_HC(chnum)->HCINTMSK; 3020 .loc 1 1244 12 is_stmt 0 view .LVU1040 3021 0000 00EB4110 add r0, r0, r1, lsl #5 3022 .LVL217: 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_HC(chnum)->HCINTMSK; 3023 .loc 1 1244 12 view .LVU1041 3024 0004 00F5A063 add r3, r0, #1280 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_HC(chnum)->HCINTMSK; 3025 .loc 1 1244 10 view .LVU1042 3026 0008 D0F80805 ldr r0, [r0, #1288] 3027 .LVL218: 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3028 .loc 1 1245 3 is_stmt 1 view .LVU1043 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3029 .loc 1 1245 27 is_stmt 0 view .LVU1044 3030 000c DB68 ldr r3, [r3, #12] 3031 .LVL219: 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3032 .loc 1 1247 3 is_stmt 1 view .LVU1045 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3033 .loc 1 1248 1 is_stmt 0 view .LVU1046 3034 000e 1840 ands r0, r0, r3 3035 .LVL220: 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3036 .loc 1 1248 1 view .LVU1047 3037 0010 7047 bx lr 3038 .cfi_endproc 3039 .LFE264: 3041 .section .text.USB_ReadDevAllOutEpInterrupt,"ax",%progbits 3042 .align 1 3043 .global USB_ReadDevAllOutEpInterrupt 3044 .syntax unified 3045 .thumb 3046 .thumb_func 3048 USB_ReadDevAllOutEpInterrupt: 3049 .LVL221: 3050 .LFB265: 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3051 .loc 1 1256 1 is_stmt 1 view -0 3052 .cfi_startproc 3053 @ args = 0, pretend = 0, frame = 0 3054 @ frame_needed = 0, uses_anonymous_args = 0 3055 @ link register save eliminated. 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 3056 .loc 1 1257 3 view .LVU1049 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3057 .loc 1 1258 3 view .LVU1050 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DAINTMSK; 3058 .loc 1 1260 3 view .LVU1051 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DAINTMSK; 3059 .loc 1 1260 11 is_stmt 0 view .LVU1052 3060 0000 D0F81838 ldr r3, [r0, #2072] 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DAINTMSK; 3061 .loc 1 1260 13 view .LVU1053 3062 0004 00F50060 add r0, r0, #2048 ARM GAS /tmp/cc5wsx2R.s page 97 3063 .LVL222: 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3064 .loc 1 1261 3 is_stmt 1 view .LVU1054 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3065 .loc 1 1261 24 is_stmt 0 view .LVU1055 3066 0008 C069 ldr r0, [r0, #28] 3067 .LVL223: 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3068 .loc 1 1261 10 view .LVU1056 3069 000a 1840 ands r0, r0, r3 3070 .LVL224: 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3071 .loc 1 1263 3 is_stmt 1 view .LVU1057 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3072 .loc 1 1264 1 is_stmt 0 view .LVU1058 3073 000c 000C lsrs r0, r0, #16 3074 .LVL225: 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3075 .loc 1 1264 1 view .LVU1059 3076 000e 7047 bx lr 3077 .cfi_endproc 3078 .LFE265: 3080 .section .text.USB_ReadDevAllInEpInterrupt,"ax",%progbits 3081 .align 1 3082 .global USB_ReadDevAllInEpInterrupt 3083 .syntax unified 3084 .thumb 3085 .thumb_func 3087 USB_ReadDevAllInEpInterrupt: 3088 .LVL226: 3089 .LFB266: 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3090 .loc 1 1272 1 is_stmt 1 view -0 3091 .cfi_startproc 3092 @ args = 0, pretend = 0, frame = 0 3093 @ frame_needed = 0, uses_anonymous_args = 0 3094 @ link register save eliminated. 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 3095 .loc 1 1273 3 view .LVU1061 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3096 .loc 1 1274 3 view .LVU1062 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DAINTMSK; 3097 .loc 1 1276 3 view .LVU1063 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DAINTMSK; 3098 .loc 1 1276 11 is_stmt 0 view .LVU1064 3099 0000 D0F81838 ldr r3, [r0, #2072] 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DAINTMSK; 3100 .loc 1 1276 13 view .LVU1065 3101 0004 00F50060 add r0, r0, #2048 3102 .LVL227: 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3103 .loc 1 1277 3 is_stmt 1 view .LVU1066 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3104 .loc 1 1277 24 is_stmt 0 view .LVU1067 3105 0008 C069 ldr r0, [r0, #28] 3106 .LVL228: 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/cc5wsx2R.s page 98 3107 .loc 1 1277 10 view .LVU1068 3108 000a 1840 ands r0, r0, r3 3109 .LVL229: 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3110 .loc 1 1279 3 is_stmt 1 view .LVU1069 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3111 .loc 1 1280 1 is_stmt 0 view .LVU1070 3112 000c 80B2 uxth r0, r0 3113 .LVL230: 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3114 .loc 1 1280 1 view .LVU1071 3115 000e 7047 bx lr 3116 .cfi_endproc 3117 .LFE266: 3119 .section .text.USB_ReadDevOutEPInterrupt,"ax",%progbits 3120 .align 1 3121 .global USB_ReadDevOutEPInterrupt 3122 .syntax unified 3123 .thumb 3124 .thumb_func 3126 USB_ReadDevOutEPInterrupt: 3127 .LVL231: 3128 .LFB267: 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3129 .loc 1 1290 1 is_stmt 1 view -0 3130 .cfi_startproc 3131 @ args = 0, pretend = 0, frame = 0 3132 @ frame_needed = 0, uses_anonymous_args = 0 3133 @ link register save eliminated. 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 3134 .loc 1 1291 3 view .LVU1073 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3135 .loc 1 1292 3 view .LVU1074 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DOEPMSK; 3136 .loc 1 1294 3 view .LVU1075 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DOEPMSK; 3137 .loc 1 1294 13 is_stmt 0 view .LVU1076 3138 0000 00EB4111 add r1, r0, r1, lsl #5 3139 .LVL232: 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DOEPMSK; 3140 .loc 1 1294 11 view .LVU1077 3141 0004 D1F8082B ldr r2, [r1, #2824] 3142 .LVL233: 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3143 .loc 1 1295 3 is_stmt 1 view .LVU1078 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3144 .loc 1 1295 13 is_stmt 0 view .LVU1079 3145 0008 00F50060 add r0, r0, #2048 3146 .LVL234: 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3147 .loc 1 1295 24 view .LVU1080 3148 000c 4069 ldr r0, [r0, #20] 3149 .LVL235: 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3150 .loc 1 1297 3 is_stmt 1 view .LVU1081 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3151 .loc 1 1298 1 is_stmt 0 view .LVU1082 ARM GAS /tmp/cc5wsx2R.s page 99 3152 000e 1040 ands r0, r0, r2 3153 .LVL236: 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3154 .loc 1 1298 1 view .LVU1083 3155 0010 7047 bx lr 3156 .cfi_endproc 3157 .LFE267: 3159 .section .text.USB_ReadDevInEPInterrupt,"ax",%progbits 3160 .align 1 3161 .global USB_ReadDevInEPInterrupt 3162 .syntax unified 3163 .thumb 3164 .thumb_func 3166 USB_ReadDevInEPInterrupt: 3167 .LVL237: 3168 .LFB268: 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3169 .loc 1 1308 1 is_stmt 1 view -0 3170 .cfi_startproc 3171 @ args = 0, pretend = 0, frame = 0 3172 @ frame_needed = 0, uses_anonymous_args = 0 3173 @ link register save eliminated. 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 3174 .loc 1 1309 3 view .LVU1085 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t msk; 3175 .loc 1 1310 3 view .LVU1086 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t emp; 3176 .loc 1 1311 3 view .LVU1087 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3177 .loc 1 1312 3 view .LVU1088 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** emp = USBx_DEVICE->DIEPEMPMSK; 3178 .loc 1 1314 3 view .LVU1089 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** emp = USBx_DEVICE->DIEPEMPMSK; 3179 .loc 1 1314 7 is_stmt 0 view .LVU1090 3180 0000 D0F81028 ldr r2, [r0, #2064] 3181 .LVL238: 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** msk |= ((emp >> (epnum & EP_ADDR_MSK)) & 0x1U) << 7; 3182 .loc 1 1315 3 is_stmt 1 view .LVU1091 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** msk |= ((emp >> (epnum & EP_ADDR_MSK)) & 0x1U) << 7; 3183 .loc 1 1315 7 is_stmt 0 view .LVU1092 3184 0004 D0F83438 ldr r3, [r0, #2100] 3185 .LVL239: 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk; 3186 .loc 1 1316 3 is_stmt 1 view .LVU1093 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk; 3187 .loc 1 1316 26 is_stmt 0 view .LVU1094 3188 0008 01F00F0C and ip, r1, #15 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk; 3189 .loc 1 1316 16 view .LVU1095 3190 000c 23FA0CF3 lsr r3, r3, ip 3191 .LVL240: 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk; 3192 .loc 1 1316 50 view .LVU1096 3193 0010 DB01 lsls r3, r3, #7 3194 0012 DBB2 uxtb r3, r3 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk; 3195 .loc 1 1316 7 view .LVU1097 ARM GAS /tmp/cc5wsx2R.s page 100 3196 0014 1343 orrs r3, r3, r2 3197 .LVL241: 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3198 .loc 1 1317 3 is_stmt 1 view .LVU1098 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3199 .loc 1 1317 12 is_stmt 0 view .LVU1099 3200 0016 00EB4110 add r0, r0, r1, lsl #5 3201 .LVL242: 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3202 .loc 1 1317 12 view .LVU1100 3203 001a 00F51060 add r0, r0, #2304 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3204 .loc 1 1317 38 view .LVU1101 3205 001e 8068 ldr r0, [r0, #8] 3206 .LVL243: 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3207 .loc 1 1319 3 is_stmt 1 view .LVU1102 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3208 .loc 1 1320 1 is_stmt 0 view .LVU1103 3209 0020 1840 ands r0, r0, r3 3210 .LVL244: 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3211 .loc 1 1320 1 view .LVU1104 3212 0022 7047 bx lr 3213 .cfi_endproc 3214 .LFE268: 3216 .section .text.USB_ClearInterrupts,"ax",%progbits 3217 .align 1 3218 .global USB_ClearInterrupts 3219 .syntax unified 3220 .thumb 3221 .thumb_func 3223 USB_ClearInterrupts: 3224 .LVL245: 3225 .LFB269: 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTSTS &= interrupt; 3226 .loc 1 1329 1 is_stmt 1 view -0 3227 .cfi_startproc 3228 @ args = 0, pretend = 0, frame = 0 3229 @ frame_needed = 0, uses_anonymous_args = 0 3230 @ link register save eliminated. 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3231 .loc 1 1330 3 view .LVU1106 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3232 .loc 1 1330 7 is_stmt 0 view .LVU1107 3233 0000 4369 ldr r3, [r0, #20] 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3234 .loc 1 1330 17 view .LVU1108 3235 0002 0B40 ands r3, r3, r1 3236 0004 4361 str r3, [r0, #20] 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3237 .loc 1 1331 1 view .LVU1109 3238 0006 7047 bx lr 3239 .cfi_endproc 3240 .LFE269: 3242 .section .text.USB_GetMode,"ax",%progbits 3243 .align 1 ARM GAS /tmp/cc5wsx2R.s page 101 3244 .global USB_GetMode 3245 .syntax unified 3246 .thumb 3247 .thumb_func 3249 USB_GetMode: 3250 .LVL246: 3251 .LFB270: 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((USBx->GINTSTS) & 0x1U); 3252 .loc 1 1342 1 is_stmt 1 view -0 3253 .cfi_startproc 3254 @ args = 0, pretend = 0, frame = 0 3255 @ frame_needed = 0, uses_anonymous_args = 0 3256 @ link register save eliminated. 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3257 .loc 1 1343 3 view .LVU1111 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3258 .loc 1 1343 16 is_stmt 0 view .LVU1112 3259 0000 4069 ldr r0, [r0, #20] 3260 .LVL247: 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3261 .loc 1 1344 1 view .LVU1113 3262 0002 00F00100 and r0, r0, #1 3263 0006 7047 bx lr 3264 .cfi_endproc 3265 .LFE270: 3267 .section .text.USB_SetCurrentMode,"ax",%progbits 3268 .align 1 3269 .global USB_SetCurrentMode 3270 .syntax unified 3271 .thumb 3272 .thumb_func 3274 USB_SetCurrentMode: 3275 .LVL248: 3276 .LFB243: 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t ms = 0U; 3277 .loc 1 250 1 is_stmt 1 view -0 3278 .cfi_startproc 3279 @ args = 0, pretend = 0, frame = 0 3280 @ frame_needed = 0, uses_anonymous_args = 0 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t ms = 0U; 3281 .loc 1 250 1 is_stmt 0 view .LVU1115 3282 0000 38B5 push {r3, r4, r5, lr} 3283 .LCFI36: 3284 .cfi_def_cfa_offset 16 3285 .cfi_offset 3, -16 3286 .cfi_offset 4, -12 3287 .cfi_offset 5, -8 3288 .cfi_offset 14, -4 3289 0002 0546 mov r5, r0 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3290 .loc 1 251 3 is_stmt 1 view .LVU1116 3291 .LVL249: 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3292 .loc 1 253 3 view .LVU1117 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3293 .loc 1 253 7 is_stmt 0 view .LVU1118 3294 0004 C368 ldr r3, [r0, #12] ARM GAS /tmp/cc5wsx2R.s page 102 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3295 .loc 1 253 17 view .LVU1119 3296 0006 23F0C043 bic r3, r3, #1610612736 3297 000a C360 str r3, [r0, #12] 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3298 .loc 1 255 3 is_stmt 1 view .LVU1120 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3299 .loc 1 255 6 is_stmt 0 view .LVU1121 3300 000c 0129 cmp r1, #1 3301 000e 13D0 beq .L211 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3302 .loc 1 265 8 is_stmt 1 view .LVU1122 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3303 .loc 1 265 11 is_stmt 0 view .LVU1123 3304 0010 19BB cbnz r1, .L208 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3305 .loc 1 267 5 is_stmt 1 view .LVU1124 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3306 .loc 1 267 9 is_stmt 0 view .LVU1125 3307 0012 C368 ldr r3, [r0, #12] 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3308 .loc 1 267 19 view .LVU1126 3309 0014 43F08043 orr r3, r3, #1073741824 3310 0018 C360 str r3, [r0, #12] 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3311 .loc 1 251 12 view .LVU1127 3312 001a 0024 movs r4, #0 3313 .LVL250: 3314 .L207: 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3315 .loc 1 269 5 is_stmt 1 view .LVU1128 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ms += 10U; 3316 .loc 1 271 7 view .LVU1129 3317 001c 0A20 movs r0, #10 3318 001e FFF7FEFF bl HAL_Delay 3319 .LVL251: 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USB_GetMode(USBx) != (uint32_t)USB_DEVICE_MODE) && (ms < HAL_USB_CURRENT_MODE_MAX_DEL 3320 .loc 1 272 7 view .LVU1130 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USB_GetMode(USBx) != (uint32_t)USB_DEVICE_MODE) && (ms < HAL_USB_CURRENT_MODE_MAX_DEL 3321 .loc 1 272 10 is_stmt 0 view .LVU1131 3322 0022 0A34 adds r4, r4, #10 3323 .LVL252: 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3324 .loc 1 273 63 is_stmt 1 discriminator 2 view .LVU1132 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3325 .loc 1 273 15 is_stmt 0 discriminator 2 view .LVU1133 3326 0024 2846 mov r0, r5 3327 0026 FFF7FEFF bl USB_GetMode 3328 .LVL253: 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3329 .loc 1 273 63 discriminator 2 view .LVU1134 3330 002a 08B1 cbz r0, .L204 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3331 .loc 1 273 63 discriminator 1 view .LVU1135 3332 002c C72C cmp r4, #199 3333 002e F5D9 bls .L207 3334 .L204: ARM GAS /tmp/cc5wsx2R.s page 103 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3335 .loc 1 280 3 is_stmt 1 view .LVU1136 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3336 .loc 1 280 6 is_stmt 0 view .LVU1137 3337 0030 C82C cmp r4, #200 3338 0032 14D0 beq .L209 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3339 .loc 1 285 10 view .LVU1138 3340 0034 0020 movs r0, #0 3341 .LVL254: 3342 .L206: 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3343 .loc 1 286 1 view .LVU1139 3344 0036 38BD pop {r3, r4, r5, pc} 3345 .LVL255: 3346 .L211: 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3347 .loc 1 257 5 is_stmt 1 view .LVU1140 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3348 .loc 1 257 9 is_stmt 0 view .LVU1141 3349 0038 C368 ldr r3, [r0, #12] 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3350 .loc 1 257 19 view .LVU1142 3351 003a 43F00053 orr r3, r3, #536870912 3352 003e C360 str r3, [r0, #12] 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3353 .loc 1 251 12 view .LVU1143 3354 0040 0024 movs r4, #0 3355 .LVL256: 3356 .L205: 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3357 .loc 1 259 5 is_stmt 1 view .LVU1144 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ms += 10U; 3358 .loc 1 261 7 view .LVU1145 3359 0042 0A20 movs r0, #10 3360 0044 FFF7FEFF bl HAL_Delay 3361 .LVL257: 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USB_GetMode(USBx) != (uint32_t)USB_HOST_MODE) && (ms < HAL_USB_CURRENT_MODE_MAX_DELAY 3362 .loc 1 262 7 view .LVU1146 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USB_GetMode(USBx) != (uint32_t)USB_HOST_MODE) && (ms < HAL_USB_CURRENT_MODE_MAX_DELAY 3363 .loc 1 262 10 is_stmt 0 view .LVU1147 3364 0048 0A34 adds r4, r4, #10 3365 .LVL258: 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3366 .loc 1 263 61 is_stmt 1 discriminator 2 view .LVU1148 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3367 .loc 1 263 15 is_stmt 0 discriminator 2 view .LVU1149 3368 004a 2846 mov r0, r5 3369 004c FFF7FEFF bl USB_GetMode 3370 .LVL259: 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3371 .loc 1 263 61 discriminator 2 view .LVU1150 3372 0050 0128 cmp r0, #1 3373 0052 EDD0 beq .L204 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3374 .loc 1 263 61 discriminator 1 view .LVU1151 3375 0054 C72C cmp r4, #199 ARM GAS /tmp/cc5wsx2R.s page 104 3376 0056 F4D9 bls .L205 3377 0058 EAE7 b .L204 3378 .LVL260: 3379 .L208: 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3380 .loc 1 277 12 view .LVU1152 3381 005a 0120 movs r0, #1 3382 .LVL261: 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3383 .loc 1 277 12 view .LVU1153 3384 005c EBE7 b .L206 3385 .LVL262: 3386 .L209: 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3387 .loc 1 282 12 view .LVU1154 3388 005e 0120 movs r0, #1 3389 0060 E9E7 b .L206 3390 .cfi_endproc 3391 .LFE243: 3393 .section .text.USB_ActivateSetup,"ax",%progbits 3394 .align 1 3395 .global USB_ActivateSetup 3396 .syntax unified 3397 .thumb 3398 .thumb_func 3400 USB_ActivateSetup: 3401 .LVL263: 3402 .LFB271: 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3403 .loc 1 1352 1 is_stmt 1 view -0 3404 .cfi_startproc 3405 @ args = 0, pretend = 0, frame = 0 3406 @ frame_needed = 0, uses_anonymous_args = 0 3407 @ link register save eliminated. 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3408 .loc 1 1353 3 view .LVU1156 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3409 .loc 1 1356 3 view .LVU1157 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3410 .loc 1 1356 16 is_stmt 0 view .LVU1158 3411 0000 D0F80039 ldr r3, [r0, #2304] 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3412 .loc 1 1356 26 view .LVU1159 3413 0004 6FF30A03 bfc r3, #0, #11 3414 0008 C0F80039 str r3, [r0, #2304] 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3415 .loc 1 1358 3 is_stmt 1 view .LVU1160 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3416 .loc 1 1358 14 is_stmt 0 view .LVU1161 3417 000c D0F80438 ldr r3, [r0, #2052] 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3418 .loc 1 1358 21 view .LVU1162 3419 0010 43F48073 orr r3, r3, #256 3420 0014 C0F80438 str r3, [r0, #2052] 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3421 .loc 1 1360 3 is_stmt 1 view .LVU1163 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/cc5wsx2R.s page 105 3422 .loc 1 1361 1 is_stmt 0 view .LVU1164 3423 0018 0020 movs r0, #0 3424 .LVL264: 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3425 .loc 1 1361 1 view .LVU1165 3426 001a 7047 bx lr 3427 .cfi_endproc 3428 .LFE271: 3430 .section .text.USB_EP0_OutStart,"ax",%progbits 3431 .align 1 3432 .global USB_EP0_OutStart 3433 .syntax unified 3434 .thumb 3435 .thumb_func 3437 USB_EP0_OutStart: 3438 .LVL265: 3439 .LFB272: 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3440 .loc 1 1374 1 is_stmt 1 view -0 3441 .cfi_startproc 3442 @ args = 0, pretend = 0, frame = 0 3443 @ frame_needed = 0, uses_anonymous_args = 0 3444 @ link register save eliminated. 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3445 .loc 1 1374 1 is_stmt 0 view .LVU1167 3446 0000 10B4 push {r4} 3447 .LCFI37: 3448 .cfi_def_cfa_offset 4 3449 .cfi_offset 4, -4 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t gSNPSiD = *(__IO const uint32_t *)(&USBx->CID + 0x1U); 3450 .loc 1 1375 3 is_stmt 1 view .LVU1168 3451 .LVL266: 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3452 .loc 1 1376 3 view .LVU1169 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3453 .loc 1 1376 12 is_stmt 0 view .LVU1170 3454 0002 046C ldr r4, [r0, #64] 3455 .LVL267: 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3456 .loc 1 1378 3 is_stmt 1 view .LVU1171 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3457 .loc 1 1378 6 is_stmt 0 view .LVU1172 3458 0004 154B ldr r3, .L218 3459 0006 9C42 cmp r4, r3 3460 0008 03D9 bls .L214 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3461 .loc 1 1380 5 is_stmt 1 view .LVU1173 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3462 .loc 1 1380 24 is_stmt 0 view .LVU1174 3463 000a D0F8003B ldr r3, [r0, #2816] 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3464 .loc 1 1380 8 view .LVU1175 3465 000e 002B cmp r3, #0 3466 0010 16DB blt .L215 3467 .L214: 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 3468 .loc 1 1386 3 is_stmt 1 view .LVU1176 ARM GAS /tmp/cc5wsx2R.s page 106 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 3469 .loc 1 1386 28 is_stmt 0 view .LVU1177 3470 0012 0024 movs r4, #0 3471 .LVL268: 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 3472 .loc 1 1386 28 view .LVU1178 3473 0014 C0F8104B str r4, [r0, #2832] 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= (3U * 8U); 3474 .loc 1 1387 3 is_stmt 1 view .LVU1179 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= (3U * 8U); 3475 .loc 1 1387 17 is_stmt 0 view .LVU1180 3476 0018 D0F8104B ldr r4, [r0, #2832] 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= (3U * 8U); 3477 .loc 1 1387 28 view .LVU1181 3478 001c 44F40024 orr r4, r4, #524288 3479 0020 C0F8104B str r4, [r0, #2832] 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; 3480 .loc 1 1388 3 is_stmt 1 view .LVU1182 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; 3481 .loc 1 1388 17 is_stmt 0 view .LVU1183 3482 0024 D0F8104B ldr r4, [r0, #2832] 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; 3483 .loc 1 1388 28 view .LVU1184 3484 0028 44F01804 orr r4, r4, #24 3485 002c C0F8104B str r4, [r0, #2832] 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3486 .loc 1 1389 3 is_stmt 1 view .LVU1185 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3487 .loc 1 1389 17 is_stmt 0 view .LVU1186 3488 0030 D0F8104B ldr r4, [r0, #2832] 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3489 .loc 1 1389 28 view .LVU1187 3490 0034 44F0C044 orr r4, r4, #1610612736 3491 0038 C0F8104B str r4, [r0, #2832] 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3492 .loc 1 1391 3 is_stmt 1 view .LVU1188 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3493 .loc 1 1391 6 is_stmt 0 view .LVU1189 3494 003c 0129 cmp r1, #1 3495 003e 03D0 beq .L217 3496 .L215: 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3497 .loc 1 1399 1 view .LVU1190 3498 0040 0020 movs r0, #0 3499 .LVL269: 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 3500 .loc 1 1399 1 view .LVU1191 3501 0042 5DF8044B ldr r4, [sp], #4 3502 .LCFI38: 3503 .cfi_remember_state 3504 .cfi_restore 4 3505 .cfi_def_cfa_offset 0 3506 0046 7047 bx lr 3507 .LVL270: 3508 .L217: 3509 .LCFI39: 3510 .cfi_restore_state ARM GAS /tmp/cc5wsx2R.s page 107 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable */ 3511 .loc 1 1393 5 is_stmt 1 view .LVU1192 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable */ 3512 .loc 1 1393 29 is_stmt 0 view .LVU1193 3513 0048 C0F8142B str r2, [r0, #2836] 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3514 .loc 1 1395 5 is_stmt 1 view .LVU1194 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3515 .loc 1 1395 19 is_stmt 0 view .LVU1195 3516 004c D0F8003B ldr r3, [r0, #2816] 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3517 .loc 1 1395 29 view .LVU1196 3518 0050 43F08023 orr r3, r3, #-2147450880 3519 0054 C0F8003B str r3, [r0, #2816] 3520 0058 F2E7 b .L215 3521 .L219: 3522 005a 00BF .align 2 3523 .L218: 3524 005c 0A30544F .word 1330917386 3525 .cfi_endproc 3526 .LFE272: 3528 .section .text.USB_HostInit,"ax",%progbits 3529 .align 1 3530 .global USB_HostInit 3531 .syntax unified 3532 .thumb 3533 .thumb_func 3535 USB_HostInit: 3536 .LVL271: 3537 .LFB274: 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_HostInit : Initializes the USB OTG controller registers 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * for Host mode 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param cfg pointer to a USB_OTG_CfgTypeDef structure that contains 1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * the configuration information for the specified USBx peripheral. 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_HostInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3538 .loc 1 1454 1 is_stmt 1 view -0 3539 .cfi_startproc 3540 @ args = 20, pretend = 16, frame = 0 3541 @ frame_needed = 0, uses_anonymous_args = 0 3542 .loc 1 1454 1 is_stmt 0 view .LVU1198 3543 0000 84B0 sub sp, sp, #16 3544 .LCFI40: 3545 .cfi_def_cfa_offset 16 3546 0002 38B5 push {r3, r4, r5, lr} 3547 .LCFI41: 3548 .cfi_def_cfa_offset 32 3549 .cfi_offset 3, -32 3550 .cfi_offset 4, -28 3551 .cfi_offset 5, -24 3552 .cfi_offset 14, -20 3553 0004 0446 mov r4, r0 ARM GAS /tmp/cc5wsx2R.s page 108 3554 0006 05A8 add r0, sp, #20 3555 .LVL272: 3556 .loc 1 1454 1 view .LVU1199 3557 0008 80E80E00 stm r0, {r1, r2, r3} 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK; 3558 .loc 1 1455 3 is_stmt 1 view .LVU1200 3559 .LVL273: 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3560 .loc 1 1456 3 view .LVU1201 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 3561 .loc 1 1457 3 view .LVU1202 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Restart the Phy Clock */ 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_PCGCCTL = 0U; 3562 .loc 1 1460 3 view .LVU1203 3563 .loc 1 1460 16 is_stmt 0 view .LVU1204 3564 000c 0023 movs r3, #0 3565 000e C4F8003E str r3, [r4, #3584] 1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) \ 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) \ 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** || defined(STM32F423xx) 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Disable HW VBUS sensing */ 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_VBDEN); 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #else 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * Disable HW VBUS sensing. VBUS is internally considered to be always 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * at VBUS-Valid level (5V). 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_NOVBUSSENS; 3566 .loc 1 1472 3 is_stmt 1 view .LVU1205 3567 .loc 1 1472 7 is_stmt 0 view .LVU1206 3568 0012 A36B ldr r3, [r4, #56] 3569 .loc 1 1472 15 view .LVU1207 3570 0014 43F40013 orr r3, r3, #2097152 3571 0018 A363 str r3, [r4, #56] 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSBSEN; 3572 .loc 1 1473 3 is_stmt 1 view .LVU1208 3573 .loc 1 1473 7 is_stmt 0 view .LVU1209 3574 001a A36B ldr r3, [r4, #56] 3575 .loc 1 1473 15 view .LVU1210 3576 001c 23F40023 bic r3, r3, #524288 3577 0020 A363 str r3, [r4, #56] 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSASEN; 3578 .loc 1 1474 3 is_stmt 1 view .LVU1211 3579 .loc 1 1474 7 is_stmt 0 view .LVU1212 3580 0022 A36B ldr r3, [r4, #56] 3581 .loc 1 1474 15 view .LVU1213 3582 0024 23F48023 bic r3, r3, #262144 3583 0028 A363 str r3, [r4, #56] 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #endif /* defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** defined(STM32F423xx) */ 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) \ 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** || defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx) 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Disable Battery chargin detector */ 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_BCDEN); ARM GAS /tmp/cc5wsx2R.s page 109 1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #endif /* defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx) */ 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx->GUSBCFG & USB_OTG_GUSBCFG_PHYSEL) == 0U) 3584 .loc 1 1485 3 is_stmt 1 view .LVU1214 3585 .loc 1 1485 12 is_stmt 0 view .LVU1215 3586 002a E368 ldr r3, [r4, #12] 3587 .loc 1 1485 6 view .LVU1216 3588 002c 13F0400F tst r3, #64 3589 0030 11D1 bne .L221 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.speed == USBH_FSLS_SPEED) 3590 .loc 1 1487 5 is_stmt 1 view .LVU1217 3591 .loc 1 1487 12 is_stmt 0 view .LVU1218 3592 0032 9DF81730 ldrb r3, [sp, #23] @ zero_extendqisi2 3593 .loc 1 1487 8 view .LVU1219 3594 0036 012B cmp r3, #1 3595 0038 06D0 beq .L234 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Force Device Enumeration to FS/LS mode only */ 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HOST->HCFG |= USB_OTG_HCFG_FSLSS; 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set default Max speed support */ 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HOST->HCFG &= ~(USB_OTG_HCFG_FSLSS); 3596 .loc 1 1495 7 is_stmt 1 view .LVU1220 3597 .loc 1 1495 16 is_stmt 0 view .LVU1221 3598 003a D4F80034 ldr r3, [r4, #1024] 3599 .loc 1 1495 23 view .LVU1222 3600 003e 23F00403 bic r3, r3, #4 3601 0042 C4F80034 str r3, [r4, #1024] 3602 0046 0CE0 b .L223 3603 .L234: 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3604 .loc 1 1490 7 is_stmt 1 view .LVU1223 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3605 .loc 1 1490 16 is_stmt 0 view .LVU1224 3606 0048 D4F80034 ldr r3, [r4, #1024] 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3607 .loc 1 1490 23 view .LVU1225 3608 004c 43F00403 orr r3, r3, #4 3609 0050 C4F80034 str r3, [r4, #1024] 3610 0054 05E0 b .L223 3611 .L221: 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set default Max speed support */ 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HOST->HCFG &= ~(USB_OTG_HCFG_FSLSS); 3612 .loc 1 1501 5 is_stmt 1 view .LVU1226 3613 .loc 1 1501 14 is_stmt 0 view .LVU1227 3614 0056 D4F80034 ldr r3, [r4, #1024] 3615 .loc 1 1501 21 view .LVU1228 3616 005a 23F00403 bic r3, r3, #4 3617 005e C4F80034 str r3, [r4, #1024] ARM GAS /tmp/cc5wsx2R.s page 110 3618 .L223: 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Make sure the FIFOs are flushed. */ 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (USB_FlushTxFifo(USBx, 0x10U) != HAL_OK) /* all Tx FIFOs */ 3619 .loc 1 1505 3 is_stmt 1 view .LVU1229 3620 .loc 1 1505 7 is_stmt 0 view .LVU1230 3621 0062 1021 movs r1, #16 3622 0064 2046 mov r0, r4 3623 0066 FFF7FEFF bl USB_FlushTxFifo 3624 .LVL274: 3625 .loc 1 1505 6 discriminator 1 view .LVU1231 3626 006a 0546 mov r5, r0 3627 006c 00B1 cbz r0, .L224 1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = HAL_ERROR; 3628 .loc 1 1507 9 view .LVU1232 3629 006e 0125 movs r5, #1 3630 .L224: 3631 .LVL275: 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (USB_FlushRxFifo(USBx) != HAL_OK) 3632 .loc 1 1510 3 is_stmt 1 view .LVU1233 3633 .loc 1 1510 7 is_stmt 0 view .LVU1234 3634 0070 2046 mov r0, r4 3635 0072 FFF7FEFF bl USB_FlushRxFifo 3636 .LVL276: 3637 .loc 1 1510 6 discriminator 1 view .LVU1235 3638 0076 00B1 cbz r0, .L225 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = HAL_ERROR; 3639 .loc 1 1512 9 view .LVU1236 3640 0078 0125 movs r5, #1 3641 .LVL277: 3642 .L225: 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear all pending HC Interrupts */ 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < cfg.Host_channels; i++) 3643 .loc 1 1516 3 is_stmt 1 view .LVU1237 3644 .loc 1 1516 10 is_stmt 0 view .LVU1238 3645 007a 0022 movs r2, #0 3646 .loc 1 1516 3 view .LVU1239 3647 007c 09E0 b .L226 3648 .LVL278: 3649 .L227: 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(i)->HCINT = CLEAR_INTERRUPT_MASK; 3650 .loc 1 1518 5 is_stmt 1 view .LVU1240 3651 007e 04EB4213 add r3, r4, r2, lsl #5 3652 .loc 1 1518 23 is_stmt 0 view .LVU1241 3653 0082 4FF0FF31 mov r1, #-1 3654 0086 C3F80815 str r1, [r3, #1288] 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(i)->HCINTMSK = 0U; 3655 .loc 1 1519 5 is_stmt 1 view .LVU1242 3656 .loc 1 1519 26 is_stmt 0 view .LVU1243 ARM GAS /tmp/cc5wsx2R.s page 111 3657 008a 0021 movs r1, #0 3658 008c C3F80C15 str r1, [r3, #1292] 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3659 .loc 1 1516 40 is_stmt 1 discriminator 3 view .LVU1244 3660 0090 0132 adds r2, r2, #1 3661 .LVL279: 3662 .L226: 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3663 .loc 1 1516 18 discriminator 1 view .LVU1245 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3664 .loc 1 1516 23 is_stmt 0 discriminator 1 view .LVU1246 3665 0092 9DF81530 ldrb r3, [sp, #21] @ zero_extendqisi2 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3666 .loc 1 1516 18 discriminator 1 view .LVU1247 3667 0096 9342 cmp r3, r2 3668 0098 F1D8 bhi .L227 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Disable all interrupts. */ 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK = 0U; 3669 .loc 1 1523 3 is_stmt 1 view .LVU1248 3670 .loc 1 1523 17 is_stmt 0 view .LVU1249 3671 009a 0023 movs r3, #0 3672 009c A361 str r3, [r4, #24] 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear any pending interrupts */ 1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTSTS = CLEAR_INTERRUPT_MASK; 3673 .loc 1 1526 3 is_stmt 1 view .LVU1250 3674 .loc 1 1526 17 is_stmt 0 view .LVU1251 3675 009e 4FF0FF33 mov r3, #-1 3676 00a2 6361 str r3, [r4, #20] 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined (USB_OTG_HS) 1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (USBx == USB_OTG_HS) 3677 .loc 1 1528 3 is_stmt 1 view .LVU1252 3678 .loc 1 1528 6 is_stmt 0 view .LVU1253 3679 00a4 124B ldr r3, .L236 3680 00a6 9C42 cmp r4, r3 3681 00a8 17D0 beq .L235 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* set Rx FIFO size */ 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GRXFSIZ = 0x200U; 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->DIEPTXF0_HNPTXFSIZ = (uint32_t)(((0x100U << 16) & USB_OTG_NPTXFD) | 0x200U); 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->HPTXFSIZ = (uint32_t)(((0xE0U << 16) & USB_OTG_HPTXFSIZ_PTXFD) | 0x300U); 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #endif /* defined (USB_OTG_HS) */ 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* set Rx FIFO size */ 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GRXFSIZ = 0x80U; 3682 .loc 1 1539 5 is_stmt 1 view .LVU1254 3683 .loc 1 1539 20 is_stmt 0 view .LVU1255 3684 00aa 8023 movs r3, #128 3685 00ac 6362 str r3, [r4, #36] 1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->DIEPTXF0_HNPTXFSIZ = (uint32_t)(((0x60U << 16) & USB_OTG_NPTXFD) | 0x80U); 3686 .loc 1 1540 5 is_stmt 1 view .LVU1256 3687 .loc 1 1540 30 is_stmt 0 view .LVU1257 3688 00ae 03F5C003 add r3, r3, #6291456 ARM GAS /tmp/cc5wsx2R.s page 112 3689 00b2 A362 str r3, [r4, #40] 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->HPTXFSIZ = (uint32_t)(((0x40U << 16)& USB_OTG_HPTXFSIZ_PTXFD) | 0xE0U); 3690 .loc 1 1541 5 is_stmt 1 view .LVU1258 3691 .loc 1 1541 20 is_stmt 0 view .LVU1259 3692 00b4 0F4B ldr r3, .L236+4 3693 00b6 C4F80031 str r3, [r4, #256] 3694 .L229: 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable the common interrupts */ 1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.dma_enable == 0U) 3695 .loc 1 1545 3 is_stmt 1 view .LVU1260 3696 .loc 1 1545 10 is_stmt 0 view .LVU1261 3697 00ba 9DF81630 ldrb r3, [sp, #22] @ zero_extendqisi2 3698 .loc 1 1545 6 view .LVU1262 3699 00be 1BB9 cbnz r3, .L230 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_RXFLVLM; 3700 .loc 1 1547 5 is_stmt 1 view .LVU1263 3701 .loc 1 1547 9 is_stmt 0 view .LVU1264 3702 00c0 A369 ldr r3, [r4, #24] 3703 .loc 1 1547 19 view .LVU1265 3704 00c2 43F01003 orr r3, r3, #16 3705 00c6 A361 str r3, [r4, #24] 3706 .L230: 1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable interrupts matching to the Host mode ONLY */ 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= (USB_OTG_GINTMSK_PRTIM | USB_OTG_GINTMSK_HCIM | \ 3707 .loc 1 1551 3 is_stmt 1 view .LVU1266 3708 .loc 1 1551 7 is_stmt 0 view .LVU1267 3709 00c8 A269 ldr r2, [r4, #24] 3710 .LVL280: 3711 .loc 1 1551 17 view .LVU1268 3712 00ca 0B4B ldr r3, .L236+8 3713 00cc 1343 orrs r3, r3, r2 3714 00ce A361 str r3, [r4, #24] 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_SOFM | USB_OTG_GINTSTS_DISCINT | \ 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_PXFRM_IISOOXFRM | USB_OTG_GINTMSK_WUIM); 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 3715 .loc 1 1555 3 is_stmt 1 view .LVU1269 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3716 .loc 1 1556 1 is_stmt 0 view .LVU1270 3717 00d0 2846 mov r0, r5 3718 00d2 BDE83840 pop {r3, r4, r5, lr} 3719 .LCFI42: 3720 .cfi_remember_state 3721 .cfi_restore 14 3722 .cfi_restore 5 3723 .cfi_restore 4 3724 .cfi_restore 3 3725 .cfi_def_cfa_offset 16 3726 .LVL281: 3727 .loc 1 1556 1 view .LVU1271 3728 00d6 04B0 add sp, sp, #16 3729 .LCFI43: ARM GAS /tmp/cc5wsx2R.s page 113 3730 .cfi_def_cfa_offset 0 3731 00d8 7047 bx lr 3732 .LVL282: 3733 .L235: 3734 .LCFI44: 3735 .cfi_restore_state 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->DIEPTXF0_HNPTXFSIZ = (uint32_t)(((0x100U << 16) & USB_OTG_NPTXFD) | 0x200U); 3736 .loc 1 1531 5 is_stmt 1 view .LVU1272 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->DIEPTXF0_HNPTXFSIZ = (uint32_t)(((0x100U << 16) & USB_OTG_NPTXFD) | 0x200U); 3737 .loc 1 1531 20 is_stmt 0 view .LVU1273 3738 00da 4FF40073 mov r3, #512 3739 00de 6362 str r3, [r4, #36] 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->HPTXFSIZ = (uint32_t)(((0xE0U << 16) & USB_OTG_HPTXFSIZ_PTXFD) | 0x300U); 3740 .loc 1 1532 5 is_stmt 1 view .LVU1274 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->HPTXFSIZ = (uint32_t)(((0xE0U << 16) & USB_OTG_HPTXFSIZ_PTXFD) | 0x300U); 3741 .loc 1 1532 30 is_stmt 0 view .LVU1275 3742 00e0 03F18073 add r3, r3, #16777216 3743 00e4 A362 str r3, [r4, #40] 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3744 .loc 1 1533 5 is_stmt 1 view .LVU1276 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3745 .loc 1 1533 20 is_stmt 0 view .LVU1277 3746 00e6 054B ldr r3, .L236+12 3747 00e8 C4F80031 str r3, [r4, #256] 3748 00ec E5E7 b .L229 3749 .L237: 3750 00ee 00BF .align 2 3751 .L236: 3752 00f0 00000440 .word 1074003968 3753 00f4 E0004000 .word 4194528 3754 00f8 080020A3 .word -1558183928 3755 00fc 0003E000 .word 14680832 3756 .cfi_endproc 3757 .LFE274: 3759 .section .text.USB_InitFSLSPClkSel,"ax",%progbits 3760 .align 1 3761 .global USB_InitFSLSPClkSel 3762 .syntax unified 3763 .thumb 3764 .thumb_func 3766 USB_InitFSLSPClkSel: 3767 .LVL283: 3768 .LFB275: 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_InitFSLSPClkSel : Initializes the FSLSPClkSel field of the 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * HCFG register on the PHY type and set the right frame interval 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param freq clock frequency 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * HCFG_48_MHZ : Full Speed 48 MHz Clock 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * HCFG_6_MHZ : Low Speed 6 MHz Clock 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_InitFSLSPClkSel(const USB_OTG_GlobalTypeDef *USBx, uint8_t freq) 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3769 .loc 1 1569 1 is_stmt 1 view -0 ARM GAS /tmp/cc5wsx2R.s page 114 3770 .cfi_startproc 3771 @ args = 0, pretend = 0, frame = 0 3772 @ frame_needed = 0, uses_anonymous_args = 0 3773 @ link register save eliminated. 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3774 .loc 1 1570 3 view .LVU1279 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HOST->HCFG &= ~(USB_OTG_HCFG_FSLSPCS); 3775 .loc 1 1572 3 view .LVU1280 3776 .loc 1 1572 12 is_stmt 0 view .LVU1281 3777 0000 00F5806C add ip, r0, #1024 3778 0004 D0F80034 ldr r3, [r0, #1024] 3779 .loc 1 1572 19 view .LVU1282 3780 0008 23F00303 bic r3, r3, #3 3781 000c C0F80034 str r3, [r0, #1024] 1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HOST->HCFG |= (uint32_t)freq & USB_OTG_HCFG_FSLSPCS; 3782 .loc 1 1573 3 is_stmt 1 view .LVU1283 3783 .loc 1 1573 12 is_stmt 0 view .LVU1284 3784 0010 D0F80034 ldr r3, [r0, #1024] 3785 .loc 1 1573 37 view .LVU1285 3786 0014 01F00302 and r2, r1, #3 3787 .loc 1 1573 19 view .LVU1286 3788 0018 1343 orrs r3, r3, r2 3789 001a C0F80034 str r3, [r0, #1024] 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (freq == HCFG_48_MHZ) 3790 .loc 1 1575 3 is_stmt 1 view .LVU1287 3791 .loc 1 1575 6 is_stmt 0 view .LVU1288 3792 001e 0129 cmp r1, #1 3793 0020 07D0 beq .L242 1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HOST->HFIR = HFIR_48_MHZ; 1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if (freq == HCFG_6_MHZ) 3794 .loc 1 1579 8 is_stmt 1 view .LVU1289 3795 .loc 1 1579 11 is_stmt 0 view .LVU1290 3796 0022 0229 cmp r1, #2 3797 0024 0BD1 bne .L241 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HOST->HFIR = HFIR_6_MHZ; 3798 .loc 1 1581 5 is_stmt 1 view .LVU1291 3799 .loc 1 1581 21 is_stmt 0 view .LVU1292 3800 0026 41F27073 movw r3, #6000 3801 002a CCF80430 str r3, [ip, #4] 1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_ERROR; 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 3802 .loc 1 1588 10 view .LVU1293 3803 002e 0020 movs r0, #0 3804 .LVL284: 3805 .loc 1 1588 10 view .LVU1294 3806 0030 7047 bx lr 3807 .LVL285: ARM GAS /tmp/cc5wsx2R.s page 115 3808 .L242: 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3809 .loc 1 1577 5 is_stmt 1 view .LVU1295 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3810 .loc 1 1577 21 is_stmt 0 view .LVU1296 3811 0032 4BF68033 movw r3, #48000 3812 0036 CCF80430 str r3, [ip, #4] 3813 .loc 1 1588 10 view .LVU1297 3814 003a 0020 movs r0, #0 3815 .LVL286: 3816 .loc 1 1588 10 view .LVU1298 3817 003c 7047 bx lr 3818 .LVL287: 3819 .L241: 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3820 .loc 1 1585 12 view .LVU1299 3821 003e 0120 movs r0, #1 3822 .LVL288: 1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3823 .loc 1 1589 1 view .LVU1300 3824 0040 7047 bx lr 3825 .cfi_endproc 3826 .LFE275: 3828 .section .text.USB_ResetPort,"ax",%progbits 3829 .align 1 3830 .global USB_ResetPort 3831 .syntax unified 3832 .thumb 3833 .thumb_func 3835 USB_ResetPort: 3836 .LVL289: 3837 .LFB276: 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_OTG_ResetPort : Reset Host Port 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @note (1)The application must wait at least 10 ms 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * before clearing the reset bit. 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_ResetPort(const USB_OTG_GlobalTypeDef *USBx) 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3838 .loc 1 1599 1 is_stmt 1 view -0 3839 .cfi_startproc 3840 @ args = 0, pretend = 0, frame = 8 3841 @ frame_needed = 0, uses_anonymous_args = 0 3842 .loc 1 1599 1 is_stmt 0 view .LVU1302 3843 0000 30B5 push {r4, r5, lr} 3844 .LCFI45: 3845 .cfi_def_cfa_offset 12 3846 .cfi_offset 4, -12 3847 .cfi_offset 5, -8 3848 .cfi_offset 14, -4 3849 0002 83B0 sub sp, sp, #12 3850 .LCFI46: 3851 .cfi_def_cfa_offset 24 3852 0004 0446 mov r4, r0 ARM GAS /tmp/cc5wsx2R.s page 116 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3853 .loc 1 1600 3 is_stmt 1 view .LVU1303 3854 .LVL290: 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t hprt0 = 0U; 3855 .loc 1 1602 3 view .LVU1304 3856 .loc 1 1602 17 is_stmt 0 view .LVU1305 3857 0006 0025 movs r5, #0 3858 0008 0195 str r5, [sp, #4] 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hprt0 = USBx_HPRT0; 3859 .loc 1 1604 3 is_stmt 1 view .LVU1306 3860 .loc 1 1604 11 is_stmt 0 view .LVU1307 3861 000a D0F84034 ldr r3, [r0, #1088] 3862 .loc 1 1604 9 view .LVU1308 3863 000e 0193 str r3, [sp, #4] 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hprt0 &= ~(USB_OTG_HPRT_PENA | USB_OTG_HPRT_PCDET | 3864 .loc 1 1606 3 is_stmt 1 view .LVU1309 3865 .loc 1 1606 9 is_stmt 0 view .LVU1310 3866 0010 019B ldr r3, [sp, #4] 3867 0012 23F02E03 bic r3, r3, #46 3868 0016 0193 str r3, [sp, #4] 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HPRT_PENCHNG | USB_OTG_HPRT_POCCHNG); 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HPRT0 = (USB_OTG_HPRT_PRST | hprt0); 3869 .loc 1 1609 3 is_stmt 1 view .LVU1311 3870 .loc 1 1609 35 is_stmt 0 view .LVU1312 3871 0018 019B ldr r3, [sp, #4] 3872 001a 43F48073 orr r3, r3, #256 3873 .loc 1 1609 14 view .LVU1313 3874 001e C0F84034 str r3, [r0, #1088] 1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_Delay(100U); /* See Note #1 */ 3875 .loc 1 1610 3 is_stmt 1 view .LVU1314 3876 0022 6420 movs r0, #100 3877 .LVL291: 3878 .loc 1 1610 3 is_stmt 0 view .LVU1315 3879 0024 FFF7FEFF bl HAL_Delay 3880 .LVL292: 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HPRT0 = ((~USB_OTG_HPRT_PRST) & hprt0); 3881 .loc 1 1611 3 is_stmt 1 view .LVU1316 3882 .loc 1 1611 38 is_stmt 0 view .LVU1317 3883 0028 019B ldr r3, [sp, #4] 3884 002a 23F48073 bic r3, r3, #256 3885 .loc 1 1611 14 view .LVU1318 3886 002e C4F84034 str r3, [r4, #1088] 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_Delay(10U); 3887 .loc 1 1612 3 is_stmt 1 view .LVU1319 3888 0032 0A20 movs r0, #10 3889 0034 FFF7FEFF bl HAL_Delay 3890 .LVL293: 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 3891 .loc 1 1614 3 view .LVU1320 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3892 .loc 1 1615 1 is_stmt 0 view .LVU1321 3893 0038 2846 mov r0, r5 ARM GAS /tmp/cc5wsx2R.s page 117 3894 003a 03B0 add sp, sp, #12 3895 .LCFI47: 3896 .cfi_def_cfa_offset 12 3897 @ sp needed 3898 003c 30BD pop {r4, r5, pc} 3899 .loc 1 1615 1 view .LVU1322 3900 .cfi_endproc 3901 .LFE276: 3903 .section .text.USB_DriveVbus,"ax",%progbits 3904 .align 1 3905 .global USB_DriveVbus 3906 .syntax unified 3907 .thumb 3908 .thumb_func 3910 USB_DriveVbus: 3911 .LVL294: 3912 .LFB277: 1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_DriveVbus : activate or de-activate vbus 1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param state VBUS state 1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 0 : Deactivate VBUS 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 1 : Activate VBUS 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DriveVbus(const USB_OTG_GlobalTypeDef *USBx, uint8_t state) 1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3913 .loc 1 1626 1 is_stmt 1 view -0 3914 .cfi_startproc 3915 @ args = 0, pretend = 0, frame = 8 3916 @ frame_needed = 0, uses_anonymous_args = 0 3917 @ link register save eliminated. 3918 .loc 1 1626 1 is_stmt 0 view .LVU1324 3919 0000 82B0 sub sp, sp, #8 3920 .LCFI48: 3921 .cfi_def_cfa_offset 8 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3922 .loc 1 1627 3 is_stmt 1 view .LVU1325 3923 .LVL295: 1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t hprt0 = 0U; 3924 .loc 1 1628 3 view .LVU1326 3925 .loc 1 1628 17 is_stmt 0 view .LVU1327 3926 0002 0023 movs r3, #0 3927 0004 0193 str r3, [sp, #4] 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hprt0 = USBx_HPRT0; 3928 .loc 1 1630 3 is_stmt 1 view .LVU1328 3929 .loc 1 1630 11 is_stmt 0 view .LVU1329 3930 0006 D0F84034 ldr r3, [r0, #1088] 3931 .loc 1 1630 9 view .LVU1330 3932 000a 0193 str r3, [sp, #4] 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hprt0 &= ~(USB_OTG_HPRT_PENA | USB_OTG_HPRT_PCDET | 3933 .loc 1 1632 3 is_stmt 1 view .LVU1331 3934 .loc 1 1632 9 is_stmt 0 view .LVU1332 3935 000c 019B ldr r3, [sp, #4] ARM GAS /tmp/cc5wsx2R.s page 118 3936 000e 23F02E03 bic r3, r3, #46 3937 0012 0193 str r3, [sp, #4] 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HPRT_PENCHNG | USB_OTG_HPRT_POCCHNG); 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((hprt0 & USB_OTG_HPRT_PPWR) == 0U) && (state == 1U)) 3938 .loc 1 1635 3 is_stmt 1 view .LVU1333 3939 .loc 1 1635 15 is_stmt 0 view .LVU1334 3940 0014 019B ldr r3, [sp, #4] 3941 .loc 1 1635 6 view .LVU1335 3942 0016 13F4805F tst r3, #4096 3943 001a 01D1 bne .L246 3944 .loc 1 1635 43 discriminator 1 view .LVU1336 3945 001c 0129 cmp r1, #1 3946 001e 0CD0 beq .L249 3947 .L246: 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HPRT0 = (USB_OTG_HPRT_PPWR | hprt0); 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((hprt0 & USB_OTG_HPRT_PPWR) == USB_OTG_HPRT_PPWR) && (state == 0U)) 3948 .loc 1 1639 3 is_stmt 1 view .LVU1337 3949 .loc 1 1639 15 is_stmt 0 view .LVU1338 3950 0020 019B ldr r3, [sp, #4] 3951 .loc 1 1639 6 view .LVU1339 3952 0022 13F4805F tst r3, #4096 3953 0026 05D0 beq .L247 3954 .loc 1 1639 58 discriminator 1 view .LVU1340 3955 0028 21B9 cbnz r1, .L247 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HPRT0 = ((~USB_OTG_HPRT_PPWR) & hprt0); 3956 .loc 1 1641 5 is_stmt 1 view .LVU1341 3957 .loc 1 1641 40 is_stmt 0 view .LVU1342 3958 002a 019B ldr r3, [sp, #4] 3959 002c 23F48053 bic r3, r3, #4096 3960 .loc 1 1641 16 view .LVU1343 3961 0030 C0F84034 str r3, [r0, #1088] 3962 .L247: 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 3963 .loc 1 1643 3 is_stmt 1 view .LVU1344 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3964 .loc 1 1644 1 is_stmt 0 view .LVU1345 3965 0034 0020 movs r0, #0 3966 .LVL296: 3967 .loc 1 1644 1 view .LVU1346 3968 0036 02B0 add sp, sp, #8 3969 .LCFI49: 3970 .cfi_remember_state 3971 .cfi_def_cfa_offset 0 3972 @ sp needed 3973 0038 7047 bx lr 3974 .LVL297: 3975 .L249: 3976 .LCFI50: 3977 .cfi_restore_state 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3978 .loc 1 1637 5 is_stmt 1 view .LVU1347 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } ARM GAS /tmp/cc5wsx2R.s page 119 3979 .loc 1 1637 37 is_stmt 0 view .LVU1348 3980 003a 019B ldr r3, [sp, #4] 3981 003c 43F48053 orr r3, r3, #4096 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 3982 .loc 1 1637 16 view .LVU1349 3983 0040 C0F84034 str r3, [r0, #1088] 3984 0044 ECE7 b .L246 3985 .cfi_endproc 3986 .LFE277: 3988 .section .text.USB_GetHostSpeed,"ax",%progbits 3989 .align 1 3990 .global USB_GetHostSpeed 3991 .syntax unified 3992 .thumb 3993 .thumb_func 3995 USB_GetHostSpeed: 3996 .LVL298: 3997 .LFB278: 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Return Host Port speed 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval speed : Host port device speed 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg HCD_DEVICE_SPEED_HIGH: High speed mode 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg HCD_DEVICE_SPEED_FULL: Full speed mode 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg HCD_DEVICE_SPEED_LOW: Low speed mode 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_GetHostSpeed(USB_OTG_GlobalTypeDef const *USBx) 1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 3998 .loc 1 1656 1 is_stmt 1 view -0 3999 .cfi_startproc 4000 @ args = 0, pretend = 0, frame = 8 4001 @ frame_needed = 0, uses_anonymous_args = 0 4002 @ link register save eliminated. 4003 .loc 1 1656 1 is_stmt 0 view .LVU1351 4004 0000 82B0 sub sp, sp, #8 4005 .LCFI51: 4006 .cfi_def_cfa_offset 8 1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4007 .loc 1 1657 3 is_stmt 1 view .LVU1352 4008 .LVL299: 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t hprt0 = 0U; 4009 .loc 1 1658 3 view .LVU1353 4010 .loc 1 1658 17 is_stmt 0 view .LVU1354 4011 0002 0023 movs r3, #0 4012 0004 0193 str r3, [sp, #4] 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hprt0 = USBx_HPRT0; 4013 .loc 1 1660 3 is_stmt 1 view .LVU1355 4014 .loc 1 1660 11 is_stmt 0 view .LVU1356 4015 0006 D0F84034 ldr r3, [r0, #1088] 4016 .loc 1 1660 9 view .LVU1357 4017 000a 0193 str r3, [sp, #4] 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((hprt0 & USB_OTG_HPRT_PSPD) >> 17); 4018 .loc 1 1661 3 is_stmt 1 view .LVU1358 4019 .loc 1 1661 39 is_stmt 0 view .LVU1359 ARM GAS /tmp/cc5wsx2R.s page 120 4020 000c 0198 ldr r0, [sp, #4] 4021 .LVL300: 1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4022 .loc 1 1662 1 view .LVU1360 4023 000e C0F34140 ubfx r0, r0, #17, #2 4024 0012 02B0 add sp, sp, #8 4025 .LCFI52: 4026 .cfi_def_cfa_offset 0 4027 @ sp needed 4028 0014 7047 bx lr 4029 .cfi_endproc 4030 .LFE278: 4032 .section .text.USB_GetCurrentFrame,"ax",%progbits 4033 .align 1 4034 .global USB_GetCurrentFrame 4035 .syntax unified 4036 .thumb 4037 .thumb_func 4039 USB_GetCurrentFrame: 4040 .LVL301: 4041 .LFB279: 1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Return Host Current Frame number 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval current frame number 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_GetCurrentFrame(USB_OTG_GlobalTypeDef const *USBx) 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4042 .loc 1 1670 1 is_stmt 1 view -0 4043 .cfi_startproc 4044 @ args = 0, pretend = 0, frame = 0 4045 @ frame_needed = 0, uses_anonymous_args = 0 4046 @ link register save eliminated. 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4047 .loc 1 1671 3 view .LVU1362 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return (USBx_HOST->HFNUM & USB_OTG_HFNUM_FRNUM); 4048 .loc 1 1673 3 view .LVU1363 4049 .loc 1 1673 11 is_stmt 0 view .LVU1364 4050 0000 00F58060 add r0, r0, #1024 4051 .LVL302: 4052 .loc 1 1673 20 view .LVU1365 4053 0004 8068 ldr r0, [r0, #8] 4054 .LVL303: 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4055 .loc 1 1674 1 view .LVU1366 4056 0006 80B2 uxth r0, r0 4057 0008 7047 bx lr 4058 .cfi_endproc 4059 .LFE279: 4061 .section .text.USB_HC_Init,"ax",%progbits 4062 .align 1 4063 .global USB_HC_Init 4064 .syntax unified 4065 .thumb 4066 .thumb_func ARM GAS /tmp/cc5wsx2R.s page 121 4068 USB_HC_Init: 4069 .LVL304: 4070 .LFB280: 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Initialize a host channel 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ch_num Channel number 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 1 to 15 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param epnum Endpoint number 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 1 to 15 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param dev_address Current device address 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 0 to 255 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param speed Current device speed 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_OTG_SPEED_HIGH: High speed mode 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_OTG_SPEED_FULL: Full speed mode 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_OTG_SPEED_LOW: Low speed mode 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep_type Endpoint Type 1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg EP_TYPE_CTRL: Control type 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg EP_TYPE_ISOC: Isochronous type 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg EP_TYPE_BULK: Bulk type 1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg EP_TYPE_INTR: Interrupt type 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param mps Max Packet Size 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 0 to 32K 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL state 1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_HC_Init(USB_OTG_GlobalTypeDef *USBx, uint8_t ch_num, 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t epnum, uint8_t dev_address, uint8_t speed, 1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t ep_type, uint16_t mps) 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4071 .loc 1 1703 1 is_stmt 1 view -0 4072 .cfi_startproc 4073 @ args = 12, pretend = 0, frame = 0 4074 @ frame_needed = 0, uses_anonymous_args = 0 4075 .loc 1 1703 1 is_stmt 0 view .LVU1368 4076 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 4077 .LCFI53: 4078 .cfi_def_cfa_offset 32 4079 .cfi_offset 3, -32 4080 .cfi_offset 4, -28 4081 .cfi_offset 5, -24 4082 .cfi_offset 6, -20 4083 .cfi_offset 7, -16 4084 .cfi_offset 8, -12 4085 .cfi_offset 9, -8 4086 .cfi_offset 14, -4 4087 0004 9146 mov r9, r2 4088 0006 1C46 mov r4, r3 4089 0008 9DF82450 ldrb r5, [sp, #36] @ zero_extendqisi2 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK; 4090 .loc 1 1704 3 is_stmt 1 view .LVU1369 4091 .LVL305: 1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4092 .loc 1 1705 3 view .LVU1370 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t HCcharEpDir; ARM GAS /tmp/cc5wsx2R.s page 122 4093 .loc 1 1706 3 view .LVU1371 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t HCcharLowSpeed; 4094 .loc 1 1707 3 view .LVU1372 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t HostCoreSpeed; 4095 .loc 1 1708 3 view .LVU1373 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear old interrupt conditions for this host channel. */ 1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINT = CLEAR_INTERRUPT_MASK; 4096 .loc 1 1711 3 view .LVU1374 4097 000c 00EB4116 add r6, r0, r1, lsl #5 4098 0010 06F5A063 add r3, r6, #1280 4099 .LVL306: 4100 .loc 1 1711 36 is_stmt 0 view .LVU1375 4101 0014 4FF0FF32 mov r2, #-1 4102 .LVL307: 4103 .loc 1 1711 36 view .LVU1376 4104 0018 9A60 str r2, [r3, #8] 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable channel interrupts required for this transfer. */ 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** switch (ep_type) 4105 .loc 1 1714 3 is_stmt 1 view .LVU1377 4106 001a 032D cmp r5, #3 4107 001c 7AD8 bhi .L264 4108 001e DFE805F0 tbb [pc, r5] 4109 .L256: 4110 0022 02 .byte (.L257-.L256)/2 4111 0023 6B .byte (.L258-.L256)/2 4112 0024 02 .byte (.L257-.L256)/2 4113 0025 19 .byte (.L255-.L256)/2 4114 .p2align 1 4115 .L257: 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case EP_TYPE_CTRL: 1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case EP_TYPE_BULK: 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK = USB_OTG_HCINTMSK_XFRCM | 4116 .loc 1 1718 7 view .LVU1378 4117 .loc 1 1718 43 is_stmt 0 view .LVU1379 4118 0026 40F29D42 movw r2, #1181 4119 002a DA60 str r2, [r3, #12] 1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_STALLM | 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_TXERRM | 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_DTERRM | 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_AHBERR | 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_NAKM; 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((epnum & 0x80U) == 0x80U) 4120 .loc 1 1725 7 is_stmt 1 view .LVU1380 4121 .loc 1 1725 10 is_stmt 0 view .LVU1381 4122 002c 19F0800F tst r9, #128 4123 0030 04D1 bne .L272 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_BBERRM; 1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined (USB_OTG_HS) 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (USBx == USB_OTG_HS) ARM GAS /tmp/cc5wsx2R.s page 123 4124 .loc 1 1732 9 is_stmt 1 view .LVU1382 4125 .loc 1 1732 12 is_stmt 0 view .LVU1383 4126 0032 3E4A ldr r2, .L279 4127 0034 9042 cmp r0, r2 4128 0036 07D0 beq .L273 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4129 .loc 1 1704 21 view .LVU1384 4130 0038 0027 movs r7, #0 4131 003a 12E0 b .L254 4132 .L272: 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4133 .loc 1 1727 9 is_stmt 1 view .LVU1385 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4134 .loc 1 1727 34 is_stmt 0 view .LVU1386 4135 003c DA68 ldr r2, [r3, #12] 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4136 .loc 1 1727 45 view .LVU1387 4137 003e 42F48072 orr r2, r2, #256 4138 0042 DA60 str r2, [r3, #12] 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4139 .loc 1 1704 21 view .LVU1388 4140 0044 0027 movs r7, #0 4141 0046 0CE0 b .L254 4142 .L273: 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_NYET | 4143 .loc 1 1734 11 is_stmt 1 view .LVU1389 4144 .loc 1 1734 36 is_stmt 0 view .LVU1390 4145 0048 DA68 ldr r2, [r3, #12] 4146 .loc 1 1734 47 view .LVU1391 4147 004a 42F06002 orr r2, r2, #96 4148 004e DA60 str r2, [r3, #12] 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4149 .loc 1 1704 21 view .LVU1392 4150 0050 0027 movs r7, #0 4151 0052 06E0 b .L254 4152 .L255: 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_ACKM; 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #endif /* defined (USB_OTG_HS) */ 1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case EP_TYPE_INTR: 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK = USB_OTG_HCINTMSK_XFRCM | 4153 .loc 1 1742 7 is_stmt 1 view .LVU1393 4154 .loc 1 1742 43 is_stmt 0 view .LVU1394 4155 0054 40F29D62 movw r2, #1693 4156 0058 DA60 str r2, [r3, #12] 1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_STALLM | 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_TXERRM | 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_DTERRM | 1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_NAKM | 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_AHBERR | 1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_FRMORM; 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((epnum & 0x80U) == 0x80U) ARM GAS /tmp/cc5wsx2R.s page 124 4157 .loc 1 1750 7 is_stmt 1 view .LVU1395 4158 .loc 1 1750 10 is_stmt 0 view .LVU1396 4159 005a 19F0800F tst r9, #128 4160 005e 45D1 bne .L274 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4161 .loc 1 1704 21 view .LVU1397 4162 0060 0027 movs r7, #0 4163 .L254: 4164 .LVL308: 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_BBERRM; 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case EP_TYPE_ISOC: 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK = USB_OTG_HCINTMSK_XFRCM | 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_ACKM | 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_AHBERR | 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_FRMORM; 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((epnum & 0x80U) == 0x80U) 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK |= (USB_OTG_HCINTMSK_TXERRM | USB_OTG_HCINTMSK_BBERRM); 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** default: 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = HAL_ERROR; 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear Hub Start Split transaction */ 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCSPLT = 0U; 4165 .loc 1 1775 3 is_stmt 1 view .LVU1398 4166 .loc 1 1775 37 is_stmt 0 view .LVU1399 4167 0062 0022 movs r2, #0 4168 0064 5A60 str r2, [r3, #4] 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable host channel Halt interrupt */ 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_CHHM; 4169 .loc 1 1778 3 is_stmt 1 view .LVU1400 4170 .loc 1 1778 28 is_stmt 0 view .LVU1401 4171 0066 DA68 ldr r2, [r3, #12] 4172 .loc 1 1778 39 view .LVU1402 4173 0068 42F00202 orr r2, r2, #2 4174 006c DA60 str r2, [r3, #12] 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable the top level host channel interrupt. */ 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HOST->HAINTMSK |= 1UL << (ch_num & 0xFU); 4175 .loc 1 1781 3 is_stmt 1 view .LVU1403 4176 .loc 1 1781 12 is_stmt 0 view .LVU1404 4177 006e D0F81834 ldr r3, [r0, #1048] 4178 .loc 1 1781 41 view .LVU1405 4179 0072 01F00F01 and r1, r1, #15 4180 .LVL309: 4181 .loc 1 1781 30 view .LVU1406 ARM GAS /tmp/cc5wsx2R.s page 125 4182 0076 0122 movs r2, #1 4183 0078 8A40 lsls r2, r2, r1 4184 .loc 1 1781 23 view .LVU1407 4185 007a 1343 orrs r3, r3, r2 4186 007c C0F81834 str r3, [r0, #1048] 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Make sure host channel interrupts are enabled. */ 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_HCIM; 4187 .loc 1 1784 3 is_stmt 1 view .LVU1408 4188 .loc 1 1784 7 is_stmt 0 view .LVU1409 4189 0080 8369 ldr r3, [r0, #24] 4190 .loc 1 1784 17 view .LVU1410 4191 0082 43F00073 orr r3, r3, #33554432 4192 0086 8361 str r3, [r0, #24] 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Program the HCCHAR register */ 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((epnum & 0x80U) == 0x80U) 4193 .loc 1 1787 3 is_stmt 1 view .LVU1411 4194 .loc 1 1787 6 is_stmt 0 view .LVU1412 4195 0088 19F0800F tst r9, #128 4196 008c 44D1 bne .L275 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HCcharEpDir = (0x1U << 15) & USB_OTG_HCCHAR_EPDIR; 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HCcharEpDir = 0U; 4197 .loc 1 1793 17 view .LVU1413 4198 008e 4FF00008 mov r8, #0 4199 .L260: 4200 .LVL310: 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HostCoreSpeed = USB_GetHostSpeed(USBx); 4201 .loc 1 1796 3 is_stmt 1 view .LVU1414 4202 .loc 1 1796 19 is_stmt 0 view .LVU1415 4203 0092 FFF7FEFF bl USB_GetHostSpeed 4204 .LVL311: 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* LS device plugged to HUB */ 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((speed == HPRT0_PRTSPD_LOW_SPEED) && (HostCoreSpeed != HPRT0_PRTSPD_LOW_SPEED)) 4205 .loc 1 1799 3 is_stmt 1 view .LVU1416 4206 .loc 1 1799 6 is_stmt 0 view .LVU1417 4207 0096 9DF82030 ldrb r3, [sp, #32] @ zero_extendqisi2 4208 009a 022B cmp r3, #2 4209 009c 3FD0 beq .L276 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HCcharLowSpeed = (0x1U << 17) & USB_OTG_HCCHAR_LSDEV; 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HCcharLowSpeed = 0U; 4210 .loc 1 1805 20 view .LVU1418 4211 009e 0022 movs r2, #0 4212 .L261: 4213 .LVL312: 1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } ARM GAS /tmp/cc5wsx2R.s page 126 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCCHAR = (((uint32_t)dev_address << 22) & USB_OTG_HCCHAR_DAD) | 4214 .loc 1 1808 3 is_stmt 1 view .LVU1419 4215 .loc 1 1808 63 is_stmt 0 view .LVU1420 4216 00a0 A305 lsls r3, r4, #22 4217 .loc 1 1808 70 view .LVU1421 4218 00a2 03F0FE53 and r3, r3, #532676608 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((((uint32_t)epnum & 0x7FU) << 11) & USB_OTG_HCCHAR_EPNUM) | 4219 .loc 1 1809 67 view .LVU1422 4220 00a6 4FEAC929 lsl r9, r9, #11 4221 .LVL313: 4222 .loc 1 1809 74 view .LVU1423 4223 00aa 09F4F049 and r9, r9, #30720 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((((uint32_t)epnum & 0x7FU) << 11) & USB_OTG_HCCHAR_EPNUM) | 4224 .loc 1 1808 92 view .LVU1424 4225 00ae 43EA0903 orr r3, r3, r9 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)ep_type << 18) & USB_OTG_HCCHAR_EPTYP) | 4226 .loc 1 1810 59 view .LVU1425 4227 00b2 A904 lsls r1, r5, #18 4228 .loc 1 1810 66 view .LVU1426 4229 00b4 01F44021 and r1, r1, #786432 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((((uint32_t)epnum & 0x7FU) << 11) & USB_OTG_HCCHAR_EPNUM) | 4230 .loc 1 1809 98 view .LVU1427 4231 00b8 0B43 orrs r3, r3, r1 1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)mps & USB_OTG_HCCHAR_MPSIZ) | 4232 .loc 1 1811 54 view .LVU1428 4233 00ba BDF82810 ldrh r1, [sp, #40] 4234 00be C1F30A01 ubfx r1, r1, #0, #11 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)ep_type << 18) & USB_OTG_HCCHAR_EPTYP) | 4235 .loc 1 1810 90 view .LVU1429 4236 00c2 0B43 orrs r3, r3, r1 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCCHAR_MC_0 | HCcharEpDir | HCcharLowSpeed; 4237 .loc 1 1812 59 view .LVU1430 4238 00c4 43EA0803 orr r3, r3, r8 4239 .loc 1 1812 73 view .LVU1431 4240 00c8 1343 orrs r3, r3, r2 4241 00ca 43F48013 orr r3, r3, #1048576 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((((uint32_t)epnum & 0x7FU) << 11) & USB_OTG_HCCHAR_EPNUM) | 4242 .loc 1 1808 37 view .LVU1432 4243 00ce C6F80035 str r3, [r6, #1280] 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep_type == EP_TYPE_INTR) || (ep_type == EP_TYPE_ISOC)) 4244 .loc 1 1814 3 is_stmt 1 view .LVU1433 4245 .loc 1 1814 6 is_stmt 0 view .LVU1434 4246 00d2 032D cmp r5, #3 4247 00d4 01D0 beq .L262 4248 .loc 1 1814 33 discriminator 1 view .LVU1435 4249 00d6 012D cmp r5, #1 4250 00d8 05D1 bne .L263 4251 .L262: 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCCHAR |= USB_OTG_HCCHAR_ODDFRM; 4252 .loc 1 1816 5 is_stmt 1 view .LVU1436 4253 .loc 1 1816 30 is_stmt 0 view .LVU1437 4254 00da D6F80035 ldr r3, [r6, #1280] 4255 .loc 1 1816 39 view .LVU1438 4256 00de 43F00053 orr r3, r3, #536870912 ARM GAS /tmp/cc5wsx2R.s page 127 4257 00e2 C6F80035 str r3, [r6, #1280] 4258 .L263: 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 4259 .loc 1 1819 3 is_stmt 1 view .LVU1439 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4260 .loc 1 1820 1 is_stmt 0 view .LVU1440 4261 00e6 3846 mov r0, r7 4262 .LVL314: 4263 .loc 1 1820 1 view .LVU1441 4264 00e8 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 4265 .LVL315: 4266 .L274: 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4267 .loc 1 1752 9 is_stmt 1 view .LVU1442 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4268 .loc 1 1752 34 is_stmt 0 view .LVU1443 4269 00ec DA68 ldr r2, [r3, #12] 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4270 .loc 1 1752 45 view .LVU1444 4271 00ee 42F48072 orr r2, r2, #256 4272 00f2 DA60 str r2, [r3, #12] 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4273 .loc 1 1704 21 view .LVU1445 4274 00f4 0027 movs r7, #0 4275 00f6 B4E7 b .L254 4276 .L258: 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_ACKM | 4277 .loc 1 1758 7 is_stmt 1 view .LVU1446 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_ACKM | 4278 .loc 1 1758 43 is_stmt 0 view .LVU1447 4279 00f8 40F22522 movw r2, #549 4280 00fc DA60 str r2, [r3, #12] 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4281 .loc 1 1763 7 is_stmt 1 view .LVU1448 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4282 .loc 1 1763 10 is_stmt 0 view .LVU1449 4283 00fe 19F0800F tst r9, #128 4284 0102 01D1 bne .L277 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4285 .loc 1 1704 21 view .LVU1450 4286 0104 0027 movs r7, #0 4287 0106 ACE7 b .L254 4288 .L277: 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4289 .loc 1 1765 9 is_stmt 1 view .LVU1451 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4290 .loc 1 1765 34 is_stmt 0 view .LVU1452 4291 0108 DA68 ldr r2, [r3, #12] 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4292 .loc 1 1765 45 view .LVU1453 4293 010a 42F4C072 orr r2, r2, #384 4294 010e DA60 str r2, [r3, #12] 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4295 .loc 1 1704 21 view .LVU1454 4296 0110 0027 movs r7, #0 ARM GAS /tmp/cc5wsx2R.s page 128 4297 0112 A6E7 b .L254 4298 .L264: 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4299 .loc 1 1714 3 view .LVU1455 4300 0114 0127 movs r7, #1 4301 0116 A4E7 b .L254 4302 .LVL316: 4303 .L275: 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4304 .loc 1 1789 17 view .LVU1456 4305 0118 4FF40048 mov r8, #32768 4306 011c B9E7 b .L260 4307 .LVL317: 4308 .L276: 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4309 .loc 1 1799 41 discriminator 1 view .LVU1457 4310 011e 0228 cmp r0, #2 4311 0120 02D0 beq .L278 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4312 .loc 1 1801 20 view .LVU1458 4313 0122 4FF40032 mov r2, #131072 4314 0126 BBE7 b .L261 4315 .L278: 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4316 .loc 1 1805 20 view .LVU1459 4317 0128 0022 movs r2, #0 4318 012a B9E7 b .L261 4319 .L280: 4320 .align 2 4321 .L279: 4322 012c 00000440 .word 1074003968 4323 .cfi_endproc 4324 .LFE280: 4326 .section .text.USB_HC_ReadInterrupt,"ax",%progbits 4327 .align 1 4328 .global USB_HC_ReadInterrupt 4329 .syntax unified 4330 .thumb 4331 .thumb_func 4333 USB_HC_ReadInterrupt: 4334 .LVL318: 4335 .LFB282: 1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Start a transfer over a host channel 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param hc pointer to host channel structure 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param dma USB dma enabled or disabled 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 0 : DMA feature not used 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 1 : DMA feature used 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL state 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_HC_StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_HCTypeDef *hc, uint8_t dma) 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t ch_num = (uint32_t)hc->ch_num; ARM GAS /tmp/cc5wsx2R.s page 129 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t tmpreg; 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t is_oddframe; 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t len_words; 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t num_packets; 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t max_hc_pkt_count = HC_MAX_PKT_CNT; 1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined (USB_OTG_HS) 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (USBx == USB_OTG_HS) 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* in DMA mode host Core automatically issues ping in case of NYET/NAK */ 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma == 1U) 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((hc->ep_type == EP_TYPE_CTRL) || (hc->ep_type == EP_TYPE_BULK)) && (hc->do_ssplit == 0U) 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK &= ~(USB_OTG_HCINTMSK_NYET | 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_ACKM | 1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_NAKM); 1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((hc->speed == USBH_HS_SPEED) && (hc->do_ping == 1U)) 1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_DoPing(USBx, hc->ch_num); 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #endif /* defined (USB_OTG_HS) */ 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (hc->do_ssplit == 1U) 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set number of packet to 1 for Split transaction */ 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** num_packets = 1U; 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (hc->ep_is_in != 0U) 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->XferSize = (uint32_t)num_packets * hc->max_packet; 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (hc->ep_type == EP_TYPE_ISOC) 1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (hc->xfer_len > ISO_SPLT_MPS) 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Isochrone Max Packet Size for Split mode */ 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->XferSize = hc->max_packet; 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->xfer_len = hc->XferSize; 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((hc->iso_splt_xactPos == HCSPLT_BEGIN) || (hc->iso_splt_xactPos == HCSPLT_MIDDLE)) 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->iso_splt_xactPos = HCSPLT_MIDDLE; 1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->iso_splt_xactPos = HCSPLT_BEGIN; ARM GAS /tmp/cc5wsx2R.s page 130 1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->XferSize = hc->xfer_len; 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((hc->iso_splt_xactPos != HCSPLT_BEGIN) && (hc->iso_splt_xactPos != HCSPLT_MIDDLE)) 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->iso_splt_xactPos = HCSPLT_FULL; 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->iso_splt_xactPos = HCSPLT_END; 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((dma == 1U) && (hc->xfer_len > hc->max_packet)) 1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->XferSize = (uint32_t)num_packets * hc->max_packet; 1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->XferSize = hc->xfer_len; 1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Compute the expected number of packets associated to the transfer */ 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (hc->xfer_len > 0U) 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** num_packets = (uint16_t)((hc->xfer_len + hc->max_packet - 1U) / hc->max_packet); 1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (num_packets > max_hc_pkt_count) 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** num_packets = max_hc_pkt_count; 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->XferSize = (uint32_t)num_packets * hc->max_packet; 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** num_packets = 1U; 1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * For IN channel HCTSIZ.XferSize is expected to be an integer multiple of 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * max_packet size. 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (hc->ep_is_in != 0U) 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->XferSize = (uint32_t)num_packets * hc->max_packet; 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 131 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->XferSize = hc->xfer_len; 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Initialize the HCTSIZn register */ 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCTSIZ = (hc->XferSize & USB_OTG_HCTSIZ_XFRSIZ) | 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) | 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)hc->data_pid << 29) & USB_OTG_HCTSIZ_DPID); 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma != 0U) 1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* xfer_buff MUST be 32-bits aligned */ 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCDMA = (uint32_t)hc->xfer_buff; 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** is_oddframe = (((uint32_t)USBx_HOST->HFNUM & 0x01U) != 0U) ? 0U : 1U; 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR &= ~USB_OTG_HCCHAR_ODDFRM; 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR |= (uint32_t)is_oddframe << 29; 1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (hc->do_ssplit == 1U) 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set Hub start Split transaction */ 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCSPLT = ((uint32_t)hc->hub_addr << USB_OTG_HCSPLT_HUBADDR_Pos) | 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (uint32_t)hc->hub_port_nbr | USB_OTG_HCSPLT_SPLITEN; 1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* unmask ack & nyet for IN/OUT transactions */ 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK |= (USB_OTG_HCINTMSK_ACKM | 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_NYET); 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((hc->do_csplit == 1U) && (hc->ep_is_in == 0U)) 1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCSPLT |= USB_OTG_HCSPLT_COMPLSPLT; 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_NYET; 1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((hc->ep_type == EP_TYPE_ISOC) || (hc->ep_type == EP_TYPE_INTR)) && 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (hc->do_csplit == 1U) && (hc->ep_is_in == 1U)) 1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCSPLT |= USB_OTG_HCSPLT_COMPLSPLT; 1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Position management for iso out transaction on split mode */ 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((hc->ep_type == EP_TYPE_ISOC) && (hc->ep_is_in == 0U)) 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set data payload position */ 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** switch (hc->iso_splt_xactPos) 1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case HCSPLT_BEGIN: 1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* First data payload for OUT Transaction */ 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCSPLT |= USB_OTG_HCSPLT_XACTPOS_1; 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case HCSPLT_MIDDLE: 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Middle data payload for OUT Transaction */ 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCSPLT |= USB_OTG_HCSPLT_XACTPOS_Pos; 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/cc5wsx2R.s page 132 2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case HCSPLT_END: 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* End data payload for OUT Transaction */ 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCSPLT |= USB_OTG_HCSPLT_XACTPOS_0; 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case HCSPLT_FULL: 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Entire data payload for OUT Transaction */ 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCSPLT |= USB_OTG_HCSPLT_XACTPOS; 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** default: 2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear Hub Start Split transaction */ 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCSPLT = 0U; 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set host channel enable */ 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_HC(ch_num)->HCCHAR; 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= ~USB_OTG_HCCHAR_CHDIS; 2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* make sure to set the correct ep direction */ 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (hc->ep_is_in != 0U) 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg |= USB_OTG_HCCHAR_EPDIR; 2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= ~USB_OTG_HCCHAR_EPDIR; 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg |= USB_OTG_HCCHAR_CHENA; 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR = tmpreg; 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma != 0U) /* dma mode */ 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((hc->ep_is_in == 0U) && (hc->xfer_len > 0U) && (hc->do_csplit == 0U)) 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** switch (hc->ep_type) 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Non periodic transfer */ 2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case EP_TYPE_CTRL: 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case EP_TYPE_BULK: 2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** len_words = (uint16_t)((hc->xfer_len + 3U) / 4U); 2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* check if there is enough space in FIFO space */ 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (len_words > (USBx->HNPTXSTS & 0xFFFFU)) 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* need to process data in nptxfempty interrupt */ 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_NPTXFEM; ARM GAS /tmp/cc5wsx2R.s page 133 2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Periodic transfer */ 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case EP_TYPE_INTR: 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** case EP_TYPE_ISOC: 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** len_words = (uint16_t)((hc->xfer_len + 3U) / 4U); 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* check if there is enough space in FIFO space */ 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (len_words > (USBx_HOST->HPTXSTS & 0xFFFFU)) /* split the transfer */ 2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* need to process data in ptxfempty interrupt */ 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_PTXFEM; 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** default: 2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Write packet into the Tx FIFO. */ 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_WritePacket(USBx, hc->xfer_buff, hc->ch_num, (uint16_t)hc->xfer_len, 0); 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Read all host channel interrupts status 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 2093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL state 2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_HC_ReadInterrupt(const USB_OTG_GlobalTypeDef *USBx) 2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4336 .loc 1 2096 1 is_stmt 1 view -0 4337 .cfi_startproc 4338 @ args = 0, pretend = 0, frame = 0 4339 @ frame_needed = 0, uses_anonymous_args = 0 4340 @ link register save eliminated. 2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4341 .loc 1 2097 3 view .LVU1461 2098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((USBx_HOST->HAINT) & 0xFFFFU); 4342 .loc 1 2099 3 view .LVU1462 4343 .loc 1 2099 12 is_stmt 0 view .LVU1463 4344 0000 00F58060 add r0, r0, #1024 4345 .LVL319: 4346 .loc 1 2099 21 view .LVU1464 4347 0004 4069 ldr r0, [r0, #20] 4348 .LVL320: 2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4349 .loc 1 2100 1 view .LVU1465 4350 0006 80B2 uxth r0, r0 4351 0008 7047 bx lr 4352 .cfi_endproc 4353 .LFE282: 4355 .section .text.USB_HC_Halt,"ax",%progbits 4356 .align 1 ARM GAS /tmp/cc5wsx2R.s page 134 4357 .global USB_HC_Halt 4358 .syntax unified 4359 .thumb 4360 .thumb_func 4362 USB_HC_Halt: 4363 .LVL321: 4364 .LFB283: 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 2103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Halt a host channel 2104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param hc_num Host Channel number 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 1 to 15 2107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL state 2108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_HC_Halt(const USB_OTG_GlobalTypeDef *USBx, uint8_t hc_num) 2110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4365 .loc 1 2110 1 is_stmt 1 view -0 4366 .cfi_startproc 4367 @ args = 0, pretend = 0, frame = 8 4368 @ frame_needed = 0, uses_anonymous_args = 0 4369 @ link register save eliminated. 4370 .loc 1 2110 1 is_stmt 0 view .LVU1467 4371 0000 70B4 push {r4, r5, r6} 4372 .LCFI54: 4373 .cfi_def_cfa_offset 12 4374 .cfi_offset 4, -12 4375 .cfi_offset 5, -8 4376 .cfi_offset 6, -4 4377 0002 83B0 sub sp, sp, #12 4378 .LCFI55: 4379 .cfi_def_cfa_offset 24 2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4380 .loc 1 2111 3 is_stmt 1 view .LVU1468 4381 .LVL322: 2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t hcnum = (uint32_t)hc_num; 4382 .loc 1 2112 3 view .LVU1469 2113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 4383 .loc 1 2113 3 view .LVU1470 4384 .loc 1 2113 17 is_stmt 0 view .LVU1471 4385 0004 0023 movs r3, #0 4386 0006 0193 str r3, [sp, #4] 2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t HcEpType = (USBx_HC(hcnum)->HCCHAR & USB_OTG_HCCHAR_EPTYP) >> 18; 4387 .loc 1 2114 3 is_stmt 1 view .LVU1472 4388 .loc 1 2114 24 is_stmt 0 view .LVU1473 4389 0008 00EB4111 add r1, r0, r1, lsl #5 4390 .LVL323: 4391 .loc 1 2114 24 view .LVU1474 4392 000c 01F5A062 add r2, r1, #1280 4393 .loc 1 2114 38 view .LVU1475 4394 0010 D1F80035 ldr r3, [r1, #1280] 4395 .loc 1 2114 12 view .LVU1476 4396 0014 C3F38143 ubfx r3, r3, #18, #2 4397 .LVL324: 2115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t ChannelEna = (USBx_HC(hcnum)->HCCHAR & USB_OTG_HCCHAR_CHENA) >> 31; 4398 .loc 1 2115 3 is_stmt 1 view .LVU1477 4399 .loc 1 2115 40 is_stmt 0 view .LVU1478 ARM GAS /tmp/cc5wsx2R.s page 135 4400 0018 D1F80055 ldr r5, [r1, #1280] 4401 .LVL325: 2116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t SplitEna = (USBx_HC(hcnum)->HCSPLT & USB_OTG_HCSPLT_SPLITEN) >> 31; 4402 .loc 1 2116 3 is_stmt 1 view .LVU1479 4403 .loc 1 2116 38 is_stmt 0 view .LVU1480 4404 001c 5468 ldr r4, [r2, #4] 4405 .LVL326: 2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* In buffer DMA, Channel disable must not be programmed for non-split periodic channels. 2119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** At the end of the next uframe/frame (in the worst case), the core generates a channel halted 2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** and disables the channel automatically. */ 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((((USBx->GAHBCFG & USB_OTG_GAHBCFG_DMAEN) == USB_OTG_GAHBCFG_DMAEN) && (SplitEna == 0U)) && 4406 .loc 1 2122 3 is_stmt 1 view .LVU1481 4407 .loc 1 2122 14 is_stmt 0 view .LVU1482 4408 001e 8668 ldr r6, [r0, #8] 4409 .loc 1 2122 6 view .LVU1483 4410 0020 16F0200F tst r6, #32 4411 0024 08D0 beq .L283 4412 0026 ED0F lsrs r5, r5, #31 4413 .LVL327: 4414 .loc 1 2122 6 view .LVU1484 4415 0028 E40F lsrs r4, r4, #31 4416 .LVL328: 4417 .loc 1 2122 75 discriminator 1 view .LVU1485 4418 002a 2CB9 cbnz r4, .L283 4419 .loc 1 2122 96 discriminator 2 view .LVU1486 4420 002c 002D cmp r5, #0 4421 002e 5AD0 beq .L284 2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((ChannelEna == 0U) || (((HcEpType == HCCHAR_ISOC) || (HcEpType == HCCHAR_INTR))))) 4422 .loc 1 2123 27 view .LVU1487 4423 0030 012B cmp r3, #1 4424 0032 58D0 beq .L284 4425 .loc 1 2123 58 discriminator 1 view .LVU1488 4426 0034 032B cmp r3, #3 4427 0036 56D0 beq .L284 4428 .LVL329: 4429 .L283: 2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Check for space in the request queue to issue the halt. */ 2129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((HcEpType == HCCHAR_CTRL) || (HcEpType == HCCHAR_BULK)) 4430 .loc 1 2129 3 is_stmt 1 view .LVU1489 4431 .loc 1 2129 6 is_stmt 0 view .LVU1490 4432 0038 1BB3 cbz r3, .L285 4433 .loc 1 2129 33 discriminator 1 view .LVU1491 4434 003a 022B cmp r3, #2 4435 003c 21D0 beq .L285 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHDIS; 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx->GAHBCFG & USB_OTG_GAHBCFG_DMAEN) == 0U) 2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx->HNPTXSTS & (0xFFU << 16)) == 0U) 2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 136 2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR &= ~USB_OTG_HCCHAR_CHENA; 2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA; 2139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count++; 2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (count > 1000U) 2144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USBx_HC(hcnum)->HCCHAR & USB_OTG_HCCHAR_CHENA) == USB_OTG_HCCHAR_CHENA); 2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 2150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA; 2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA; 2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHDIS; 4436 .loc 1 2161 5 is_stmt 1 view .LVU1492 4437 .loc 1 2161 19 is_stmt 0 view .LVU1493 4438 003e D1F80035 ldr r3, [r1, #1280] 4439 .LVL330: 4440 .loc 1 2161 28 view .LVU1494 4441 0042 43F08043 orr r3, r3, #1073741824 4442 0046 C1F80035 str r3, [r1, #1280] 2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_HOST->HPTXSTS & (0xFFU << 16)) == 0U) 4443 .loc 1 2163 5 is_stmt 1 view .LVU1495 4444 .loc 1 2163 19 is_stmt 0 view .LVU1496 4445 004a D0F81034 ldr r3, [r0, #1040] 4446 .loc 1 2163 8 view .LVU1497 4447 004e 13F47F0F tst r3, #16711680 4448 0052 4CD1 bne .L290 2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR &= ~USB_OTG_HCCHAR_CHENA; 4449 .loc 1 2165 7 is_stmt 1 view .LVU1498 4450 .loc 1 2165 21 is_stmt 0 view .LVU1499 4451 0054 D1F80035 ldr r3, [r1, #1280] 4452 .loc 1 2165 30 view .LVU1500 4453 0058 23F00043 bic r3, r3, #-2147483648 4454 005c C1F80035 str r3, [r1, #1280] 2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA; 4455 .loc 1 2166 7 is_stmt 1 view .LVU1501 4456 .loc 1 2166 21 is_stmt 0 view .LVU1502 4457 0060 D1F80035 ldr r3, [r1, #1280] 4458 .loc 1 2166 30 view .LVU1503 4459 0064 43F00043 orr r3, r3, #-2147483648 4460 0068 C1F80035 str r3, [r1, #1280] 4461 .L291: 2167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do ARM GAS /tmp/cc5wsx2R.s page 137 4462 .loc 1 2167 7 is_stmt 1 view .LVU1504 2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count++; 4463 .loc 1 2169 9 view .LVU1505 4464 .loc 1 2169 14 is_stmt 0 view .LVU1506 4465 006c 019B ldr r3, [sp, #4] 4466 006e 0133 adds r3, r3, #1 4467 0070 0193 str r3, [sp, #4] 2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (count > 1000U) 4468 .loc 1 2171 9 is_stmt 1 view .LVU1507 4469 .loc 1 2171 19 is_stmt 0 view .LVU1508 4470 0072 019B ldr r3, [sp, #4] 4471 .loc 1 2171 12 view .LVU1509 4472 0074 B3F57A7F cmp r3, #1000 4473 0078 35D8 bhi .L284 2172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USBx_HC(hcnum)->HCCHAR & USB_OTG_HCCHAR_CHENA) == USB_OTG_HCCHAR_CHENA); 4474 .loc 1 2175 64 is_stmt 1 view .LVU1510 4475 .loc 1 2175 31 is_stmt 0 view .LVU1511 4476 007a 1368 ldr r3, [r2] 4477 .loc 1 2175 64 view .LVU1512 4478 007c 002B cmp r3, #0 4479 007e F5DB blt .L291 4480 0080 31E0 b .L284 4481 .LVL331: 4482 .L285: 2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4483 .loc 1 2131 5 is_stmt 1 view .LVU1513 2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4484 .loc 1 2131 19 is_stmt 0 view .LVU1514 4485 0082 D1F80035 ldr r3, [r1, #1280] 4486 .LVL332: 2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4487 .loc 1 2131 28 view .LVU1515 4488 0086 43F08043 orr r3, r3, #1073741824 4489 008a C1F80035 str r3, [r1, #1280] 2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4490 .loc 1 2133 5 is_stmt 1 view .LVU1516 2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4491 .loc 1 2133 14 is_stmt 0 view .LVU1517 4492 008e 8368 ldr r3, [r0, #8] 2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4493 .loc 1 2133 8 view .LVU1518 4494 0090 13F0200F tst r3, #32 4495 0094 21D1 bne .L287 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4496 .loc 1 2135 7 is_stmt 1 view .LVU1519 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4497 .loc 1 2135 16 is_stmt 0 view .LVU1520 4498 0096 C36A ldr r3, [r0, #44] 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4499 .loc 1 2135 10 view .LVU1521 4500 0098 13F47F0F tst r3, #16711680 4501 009c 16D1 bne .L288 ARM GAS /tmp/cc5wsx2R.s page 138 2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA; 4502 .loc 1 2137 9 is_stmt 1 view .LVU1522 2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA; 4503 .loc 1 2137 23 is_stmt 0 view .LVU1523 4504 009e D1F80035 ldr r3, [r1, #1280] 2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA; 4505 .loc 1 2137 32 view .LVU1524 4506 00a2 23F00043 bic r3, r3, #-2147483648 4507 00a6 C1F80035 str r3, [r1, #1280] 2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 4508 .loc 1 2138 9 is_stmt 1 view .LVU1525 2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 4509 .loc 1 2138 23 is_stmt 0 view .LVU1526 4510 00aa D1F80035 ldr r3, [r1, #1280] 2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 4511 .loc 1 2138 32 view .LVU1527 4512 00ae 43F00043 orr r3, r3, #-2147483648 4513 00b2 C1F80035 str r3, [r1, #1280] 4514 .L289: 2139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4515 .loc 1 2139 9 is_stmt 1 view .LVU1528 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4516 .loc 1 2141 11 view .LVU1529 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4517 .loc 1 2141 16 is_stmt 0 view .LVU1530 4518 00b6 019B ldr r3, [sp, #4] 4519 00b8 0133 adds r3, r3, #1 4520 00ba 0193 str r3, [sp, #4] 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4521 .loc 1 2143 11 is_stmt 1 view .LVU1531 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4522 .loc 1 2143 21 is_stmt 0 view .LVU1532 4523 00bc 019B ldr r3, [sp, #4] 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4524 .loc 1 2143 14 view .LVU1533 4525 00be B3F57A7F cmp r3, #1000 4526 00c2 10D8 bhi .L284 2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4527 .loc 1 2147 66 is_stmt 1 view .LVU1534 2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4528 .loc 1 2147 33 is_stmt 0 view .LVU1535 4529 00c4 1368 ldr r3, [r2] 2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4530 .loc 1 2147 66 view .LVU1536 4531 00c6 002B cmp r3, #0 4532 00c8 F5DB blt .L289 4533 00ca 0CE0 b .L284 4534 .L288: 2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4535 .loc 1 2151 9 is_stmt 1 view .LVU1537 2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4536 .loc 1 2151 23 is_stmt 0 view .LVU1538 4537 00cc D1F80035 ldr r3, [r1, #1280] 2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4538 .loc 1 2151 32 view .LVU1539 4539 00d0 43F00043 orr r3, r3, #-2147483648 4540 00d4 C1F80035 str r3, [r1, #1280] ARM GAS /tmp/cc5wsx2R.s page 139 4541 00d8 05E0 b .L284 4542 .L287: 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4543 .loc 1 2156 7 is_stmt 1 view .LVU1540 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4544 .loc 1 2156 21 is_stmt 0 view .LVU1541 4545 00da D1F80035 ldr r3, [r1, #1280] 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4546 .loc 1 2156 30 view .LVU1542 4547 00de 43F00043 orr r3, r3, #-2147483648 4548 00e2 C1F80035 str r3, [r1, #1280] 4549 .L284: 2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 2178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA; 2180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4550 .loc 1 2184 1 view .LVU1543 4551 00e6 0020 movs r0, #0 4552 .LVL333: 4553 .loc 1 2184 1 view .LVU1544 4554 00e8 03B0 add sp, sp, #12 4555 .LCFI56: 4556 .cfi_remember_state 4557 .cfi_def_cfa_offset 12 4558 @ sp needed 4559 00ea 70BC pop {r4, r5, r6} 4560 .LCFI57: 4561 .cfi_restore 6 4562 .cfi_restore 5 4563 .cfi_restore 4 4564 .cfi_def_cfa_offset 0 4565 00ec 7047 bx lr 4566 .LVL334: 4567 .L290: 4568 .LCFI58: 4569 .cfi_restore_state 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4570 .loc 1 2179 7 is_stmt 1 view .LVU1545 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4571 .loc 1 2179 21 is_stmt 0 view .LVU1546 4572 00ee D1F80035 ldr r3, [r1, #1280] 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4573 .loc 1 2179 30 view .LVU1547 4574 00f2 43F00043 orr r3, r3, #-2147483648 4575 00f6 C1F80035 str r3, [r1, #1280] 4576 00fa F4E7 b .L284 4577 .cfi_endproc 4578 .LFE283: 4580 .section .text.USB_DoPing,"ax",%progbits 4581 .align 1 4582 .global USB_DoPing 4583 .syntax unified ARM GAS /tmp/cc5wsx2R.s page 140 4584 .thumb 4585 .thumb_func 4587 USB_DoPing: 4588 .LVL335: 4589 .LFB284: 2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 2187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Initiate Do Ping protocol 2188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 2189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param hc_num Host Channel number 2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 1 to 15 2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL state 2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DoPing(const USB_OTG_GlobalTypeDef *USBx, uint8_t ch_num) 2194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4590 .loc 1 2194 1 is_stmt 1 view -0 4591 .cfi_startproc 4592 @ args = 0, pretend = 0, frame = 0 4593 @ frame_needed = 0, uses_anonymous_args = 0 4594 @ link register save eliminated. 2195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4595 .loc 1 2195 3 view .LVU1549 2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t chnum = (uint32_t)ch_num; 4596 .loc 1 2196 3 view .LVU1550 2197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t num_packets = 1U; 4597 .loc 1 2197 3 view .LVU1551 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 4598 .loc 1 2198 3 view .LVU1552 2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(chnum)->HCTSIZ = ((num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) | 4599 .loc 1 2200 3 view .LVU1553 4600 0000 00EB4110 add r0, r0, r1, lsl #5 4601 .LVL336: 4602 .loc 1 2200 26 is_stmt 0 view .LVU1554 4603 0004 064A ldr r2, .L294 4604 0006 C0F81025 str r2, [r0, #1296] 2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCTSIZ_DOPING; 2202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set host channel enable */ 2204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_HC(chnum)->HCCHAR; 4605 .loc 1 2204 3 is_stmt 1 view .LVU1555 4606 .loc 1 2204 10 is_stmt 0 view .LVU1556 4607 000a D0F80035 ldr r3, [r0, #1280] 4608 .LVL337: 2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= ~USB_OTG_HCCHAR_CHDIS; 4609 .loc 1 2205 3 is_stmt 1 view .LVU1557 4610 .loc 1 2205 10 is_stmt 0 view .LVU1558 4611 000e 23F08043 bic r3, r3, #1073741824 4612 .LVL338: 2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg |= USB_OTG_HCCHAR_CHENA; 4613 .loc 1 2206 3 is_stmt 1 view .LVU1559 4614 .loc 1 2206 10 is_stmt 0 view .LVU1560 4615 0012 43F00043 orr r3, r3, #-2147483648 4616 .LVL339: 2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(chnum)->HCCHAR = tmpreg; 4617 .loc 1 2207 3 is_stmt 1 view .LVU1561 4618 .loc 1 2207 26 is_stmt 0 view .LVU1562 ARM GAS /tmp/cc5wsx2R.s page 141 4619 0016 C0F80035 str r3, [r0, #1280] 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 4620 .loc 1 2209 3 is_stmt 1 view .LVU1563 2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4621 .loc 1 2210 1 is_stmt 0 view .LVU1564 4622 001a 0020 movs r0, #0 4623 001c 7047 bx lr 4624 .L295: 4625 001e 00BF .align 2 4626 .L294: 4627 0020 00000880 .word -2146959360 4628 .cfi_endproc 4629 .LFE284: 4631 .section .text.USB_HC_StartXfer,"ax",%progbits 4632 .align 1 4633 .global USB_HC_StartXfer 4634 .syntax unified 4635 .thumb 4636 .thumb_func 4638 USB_HC_StartXfer: 4639 .LVL340: 4640 .LFB281: 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4641 .loc 1 1833 1 is_stmt 1 view -0 4642 .cfi_startproc 4643 @ args = 0, pretend = 0, frame = 8 4644 @ frame_needed = 0, uses_anonymous_args = 0 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 4645 .loc 1 1833 1 is_stmt 0 view .LVU1566 4646 0000 70B5 push {r4, r5, r6, lr} 4647 .LCFI59: 4648 .cfi_def_cfa_offset 16 4649 .cfi_offset 4, -16 4650 .cfi_offset 5, -12 4651 .cfi_offset 6, -8 4652 .cfi_offset 14, -4 4653 0002 84B0 sub sp, sp, #16 4654 .LCFI60: 4655 .cfi_def_cfa_offset 32 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t ch_num = (uint32_t)hc->ch_num; 4656 .loc 1 1834 3 is_stmt 1 view .LVU1567 4657 .LVL341: 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t tmpreg; 4658 .loc 1 1835 3 view .LVU1568 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t tmpreg; 4659 .loc 1 1835 33 is_stmt 0 view .LVU1569 4660 0004 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2 4661 .LVL342: 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t is_oddframe; 4662 .loc 1 1836 3 is_stmt 1 view .LVU1570 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t len_words; 4663 .loc 1 1837 3 view .LVU1571 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t num_packets; 4664 .loc 1 1838 3 view .LVU1572 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t max_hc_pkt_count = HC_MAX_PKT_CNT; 4665 .loc 1 1839 3 view .LVU1573 ARM GAS /tmp/cc5wsx2R.s page 142 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4666 .loc 1 1840 3 view .LVU1574 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4667 .loc 1 1843 3 view .LVU1575 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4668 .loc 1 1843 6 is_stmt 0 view .LVU1576 4669 0006 A34C ldr r4, .L340 4670 0008 A042 cmp r0, r4 4671 000a 16D0 beq .L332 4672 .L297: 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4673 .loc 1 1867 3 is_stmt 1 view .LVU1577 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4674 .loc 1 1867 9 is_stmt 0 view .LVU1578 4675 000c 8C79 ldrb r4, [r1, #6] @ zero_extendqisi2 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4676 .loc 1 1867 6 view .LVU1579 4677 000e 012C cmp r4, #1 4678 0010 2DD0 beq .L333 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4679 .loc 1 1925 5 is_stmt 1 view .LVU1580 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4680 .loc 1 1925 11 is_stmt 0 view .LVU1581 4681 0012 0D6A ldr r5, [r1, #32] 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4682 .loc 1 1925 8 view .LVU1582 4683 0014 002D cmp r5, #0 4684 0016 5ED0 beq .L328 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4685 .loc 1 1927 7 is_stmt 1 view .LVU1583 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4686 .loc 1 1927 50 is_stmt 0 view .LVU1584 4687 0018 B1F814C0 ldrh ip, [r1, #20] 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4688 .loc 1 1927 46 view .LVU1585 4689 001c 05EB0C04 add r4, r5, ip 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4690 .loc 1 1927 63 view .LVU1586 4691 0020 013C subs r4, r4, #1 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4692 .loc 1 1927 69 view .LVU1587 4693 0022 B4FBFCF4 udiv r4, r4, ip 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4694 .loc 1 1927 19 view .LVU1588 4695 0026 A4B2 uxth r4, r4 4696 .LVL343: 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4697 .loc 1 1929 7 is_stmt 1 view .LVU1589 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4698 .loc 1 1929 10 is_stmt 0 view .LVU1590 4699 0028 B4F5807F cmp r4, #256 4700 002c 54D9 bls .L309 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->XferSize = (uint32_t)num_packets * hc->max_packet; 4701 .loc 1 1931 9 is_stmt 1 view .LVU1591 4702 .LVL344: 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4703 .loc 1 1932 9 view .LVU1592 ARM GAS /tmp/cc5wsx2R.s page 143 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4704 .loc 1 1932 46 is_stmt 0 view .LVU1593 4705 002e 4FEA0C24 lsl r4, ip, #8 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4706 .loc 1 1932 22 view .LVU1594 4707 0032 CC61 str r4, [r1, #28] 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->XferSize = (uint32_t)num_packets * hc->max_packet; 4708 .loc 1 1931 21 view .LVU1595 4709 0034 4FF48074 mov r4, #256 4710 0038 4EE0 b .L309 4711 .LVL345: 4712 .L332: 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4713 .loc 1 1846 5 is_stmt 1 view .LVU1596 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4714 .loc 1 1846 8 is_stmt 0 view .LVU1597 4715 003a 012A cmp r2, #1 4716 003c 07D0 beq .L334 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4717 .loc 1 1858 7 is_stmt 1 view .LVU1598 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4718 .loc 1 1858 40 is_stmt 0 view .LVU1599 4719 003e 8C88 ldrh r4, [r1, #4] 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4720 .loc 1 1858 10 view .LVU1600 4721 0040 B4F5807F cmp r4, #256 4722 0044 E2D1 bne .L297 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 4723 .loc 1 1860 9 is_stmt 1 view .LVU1601 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 4724 .loc 1 1860 15 is_stmt 0 view .LVU1602 4725 0046 1946 mov r1, r3 4726 .LVL346: 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 4727 .loc 1 1860 15 view .LVU1603 4728 0048 FFF7FEFF bl USB_DoPing 4729 .LVL347: 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4730 .loc 1 1861 9 is_stmt 1 view .LVU1604 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4731 .loc 1 1861 16 is_stmt 0 view .LVU1605 4732 004c 1EE1 b .L300 4733 .LVL348: 4734 .L334: 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4735 .loc 1 1848 7 is_stmt 1 view .LVU1606 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4736 .loc 1 1848 15 is_stmt 0 view .LVU1607 4737 004e 8C7C ldrb r4, [r1, #18] @ zero_extendqisi2 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4738 .loc 1 1848 10 view .LVU1608 4739 0050 0CB1 cbz r4, .L299 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4740 .loc 1 1848 42 discriminator 2 view .LVU1609 4741 0052 022C cmp r4, #2 4742 0054 DAD1 bne .L297 4743 .L299: ARM GAS /tmp/cc5wsx2R.s page 144 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4744 .loc 1 1848 82 discriminator 3 view .LVU1610 4745 0056 8C79 ldrb r4, [r1, #6] @ zero_extendqisi2 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4746 .loc 1 1848 76 discriminator 3 view .LVU1611 4747 0058 002C cmp r4, #0 4748 005a D7D1 bne .L297 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_ACKM | 4749 .loc 1 1851 9 is_stmt 1 view .LVU1612 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_ACKM | 4750 .loc 1 1851 34 is_stmt 0 view .LVU1613 4751 005c 00EB4314 add r4, r0, r3, lsl #5 4752 0060 D4F80C55 ldr r5, [r4, #1292] 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_ACKM | 4753 .loc 1 1851 45 view .LVU1614 4754 0064 25F07005 bic r5, r5, #112 4755 0068 C4F80C55 str r5, [r4, #1292] 4756 006c CEE7 b .L297 4757 .L333: 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4758 .loc 1 1870 5 is_stmt 1 view .LVU1615 4759 .LVL349: 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4760 .loc 1 1872 5 view .LVU1616 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4761 .loc 1 1872 11 is_stmt 0 view .LVU1617 4762 006e CC78 ldrb r4, [r1, #3] @ zero_extendqisi2 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4763 .loc 1 1872 8 view .LVU1618 4764 0070 1CB1 cbz r4, .L302 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4765 .loc 1 1874 7 is_stmt 1 view .LVU1619 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4766 .loc 1 1874 48 is_stmt 0 view .LVU1620 4767 0072 8C8A ldrh r4, [r1, #20] 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4768 .loc 1 1874 20 view .LVU1621 4769 0074 CC61 str r4, [r1, #28] 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4770 .loc 1 1870 17 view .LVU1622 4771 0076 0124 movs r4, #1 4772 0078 35E0 b .L303 4773 .L302: 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4774 .loc 1 1878 7 is_stmt 1 view .LVU1623 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4775 .loc 1 1878 13 is_stmt 0 view .LVU1624 4776 007a 8C7C ldrb r4, [r1, #18] @ zero_extendqisi2 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4777 .loc 1 1878 10 view .LVU1625 4778 007c 012C cmp r4, #1 4779 007e 05D0 beq .L335 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4780 .loc 1 1911 9 is_stmt 1 view .LVU1626 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4781 .loc 1 1911 12 is_stmt 0 view .LVU1627 4782 0080 012A cmp r2, #1 ARM GAS /tmp/cc5wsx2R.s page 145 4783 0082 21D0 beq .L336 4784 .L308: 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4785 .loc 1 1917 11 is_stmt 1 view .LVU1628 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4786 .loc 1 1917 28 is_stmt 0 view .LVU1629 4787 0084 0C6A ldr r4, [r1, #32] 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4788 .loc 1 1917 24 view .LVU1630 4789 0086 CC61 str r4, [r1, #28] 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4790 .loc 1 1870 17 view .LVU1631 4791 0088 0124 movs r4, #1 4792 008a 2CE0 b .L303 4793 .L335: 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4794 .loc 1 1880 9 is_stmt 1 view .LVU1632 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4795 .loc 1 1880 15 is_stmt 0 view .LVU1633 4796 008c 0C6A ldr r4, [r1, #32] 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4797 .loc 1 1880 12 view .LVU1634 4798 008e BC2C cmp r4, #188 4799 0090 0DD9 bls .L305 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->xfer_len = hc->XferSize; 4800 .loc 1 1883 11 is_stmt 1 view .LVU1635 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->xfer_len = hc->XferSize; 4801 .loc 1 1883 28 is_stmt 0 view .LVU1636 4802 0092 8C8A ldrh r4, [r1, #20] 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** hc->xfer_len = hc->XferSize; 4803 .loc 1 1883 24 view .LVU1637 4804 0094 CC61 str r4, [r1, #28] 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4805 .loc 1 1884 11 is_stmt 1 view .LVU1638 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4806 .loc 1 1884 24 is_stmt 0 view .LVU1639 4807 0096 0C62 str r4, [r1, #32] 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4808 .loc 1 1886 11 is_stmt 1 view .LVU1640 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4809 .loc 1 1886 18 is_stmt 0 view .LVU1641 4810 0098 CC68 ldr r4, [r1, #12] 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4811 .loc 1 1886 54 view .LVU1642 4812 009a 013C subs r4, r4, #1 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4813 .loc 1 1886 14 view .LVU1643 4814 009c 012C cmp r4, #1 4815 009e 02D9 bls .L337 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4816 .loc 1 1892 13 is_stmt 1 view .LVU1644 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4817 .loc 1 1892 34 is_stmt 0 view .LVU1645 4818 00a0 0124 movs r4, #1 4819 00a2 CC60 str r4, [r1, #12] 4820 00a4 1FE0 b .L303 4821 .L337: ARM GAS /tmp/cc5wsx2R.s page 146 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4822 .loc 1 1888 13 is_stmt 1 view .LVU1646 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4823 .loc 1 1888 34 is_stmt 0 view .LVU1647 4824 00a6 0224 movs r4, #2 4825 00a8 CC60 str r4, [r1, #12] 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4826 .loc 1 1870 17 view .LVU1648 4827 00aa 0124 movs r4, #1 4828 00ac 1BE0 b .L303 4829 .L305: 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4830 .loc 1 1897 11 is_stmt 1 view .LVU1649 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4831 .loc 1 1897 24 is_stmt 0 view .LVU1650 4832 00ae CC61 str r4, [r1, #28] 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4833 .loc 1 1899 11 is_stmt 1 view .LVU1651 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4834 .loc 1 1899 18 is_stmt 0 view .LVU1652 4835 00b0 CC68 ldr r4, [r1, #12] 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4836 .loc 1 1899 54 view .LVU1653 4837 00b2 013C subs r4, r4, #1 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4838 .loc 1 1899 14 view .LVU1654 4839 00b4 012C cmp r4, #1 4840 00b6 03D9 bls .L307 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4841 .loc 1 1901 13 is_stmt 1 view .LVU1655 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4842 .loc 1 1901 34 is_stmt 0 view .LVU1656 4843 00b8 0424 movs r4, #4 4844 00ba CC60 str r4, [r1, #12] 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4845 .loc 1 1870 17 view .LVU1657 4846 00bc 0124 movs r4, #1 4847 00be 12E0 b .L303 4848 .L307: 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4849 .loc 1 1905 13 is_stmt 1 view .LVU1658 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4850 .loc 1 1905 34 is_stmt 0 view .LVU1659 4851 00c0 0324 movs r4, #3 4852 00c2 CC60 str r4, [r1, #12] 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4853 .loc 1 1870 17 view .LVU1660 4854 00c4 0124 movs r4, #1 4855 00c6 0EE0 b .L303 4856 .L336: 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4857 .loc 1 1911 31 discriminator 1 view .LVU1661 4858 00c8 0D6A ldr r5, [r1, #32] 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4859 .loc 1 1911 46 discriminator 1 view .LVU1662 4860 00ca 8C8A ldrh r4, [r1, #20] 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 147 4861 .loc 1 1911 25 discriminator 1 view .LVU1663 4862 00cc A542 cmp r5, r4 4863 00ce D9D9 bls .L308 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4864 .loc 1 1913 11 is_stmt 1 view .LVU1664 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4865 .loc 1 1913 24 is_stmt 0 view .LVU1665 4866 00d0 CC61 str r4, [r1, #28] 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4867 .loc 1 1870 17 view .LVU1666 4868 00d2 0124 movs r4, #1 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4869 .loc 1 1913 24 view .LVU1667 4870 00d4 07E0 b .L303 4871 .LVL350: 4872 .L328: 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4873 .loc 1 1937 19 view .LVU1668 4874 00d6 0124 movs r4, #1 4875 .L309: 4876 .LVL351: 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4877 .loc 1 1944 5 is_stmt 1 view .LVU1669 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4878 .loc 1 1944 11 is_stmt 0 view .LVU1670 4879 00d8 CE78 ldrb r6, [r1, #3] @ zero_extendqisi2 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4880 .loc 1 1944 8 view .LVU1671 4881 00da 002E cmp r6, #0 4882 00dc 60D0 beq .L310 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4883 .loc 1 1946 7 is_stmt 1 view .LVU1672 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4884 .loc 1 1946 48 is_stmt 0 view .LVU1673 4885 00de 8D8A ldrh r5, [r1, #20] 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4886 .loc 1 1946 44 view .LVU1674 4887 00e0 04FB05F5 mul r5, r4, r5 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4888 .loc 1 1946 20 view .LVU1675 4889 00e4 CD61 str r5, [r1, #28] 4890 .LVL352: 4891 .L303: 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) | 4892 .loc 1 1955 3 is_stmt 1 view .LVU1676 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) | 4893 .loc 1 1955 43 is_stmt 0 view .LVU1677 4894 00e6 CD69 ldr r5, [r1, #28] 4895 00e8 C5F3120C ubfx ip, r5, #0, #19 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)hc->data_pid << 29) & USB_OTG_HCTSIZ_DPID); 4896 .loc 1 1956 60 view .LVU1678 4897 00ec 6A4D ldr r5, .L340+4 4898 00ee 05EAC444 and r4, r5, r4, lsl #19 4899 .LVL353: 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) | 4900 .loc 1 1955 68 view .LVU1679 4901 00f2 4CEA040C orr ip, ip, r4 ARM GAS /tmp/cc5wsx2R.s page 148 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4902 .loc 1 1957 43 view .LVU1680 4903 00f6 8C7D ldrb r4, [r1, #22] @ zero_extendqisi2 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4904 .loc 1 1957 54 view .LVU1681 4905 00f8 6407 lsls r4, r4, #29 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4906 .loc 1 1957 61 view .LVU1682 4907 00fa 04F0C044 and r4, r4, #1610612736 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) | 4908 .loc 1 1955 3 view .LVU1683 4909 00fe 00EB4313 add r3, r0, r3, lsl #5 4910 .LVL354: 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) | 4911 .loc 1 1955 3 view .LVU1684 4912 0102 03F5A06E add lr, r3, #1280 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)hc->data_pid << 29) & USB_OTG_HCTSIZ_DPID); 4913 .loc 1 1956 85 view .LVU1685 4914 0106 4CEA0404 orr r4, ip, r4 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((uint32_t)num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) | 4915 .loc 1 1955 27 view .LVU1686 4916 010a CEF81040 str r4, [lr, #16] 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4917 .loc 1 1959 3 is_stmt 1 view .LVU1687 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4918 .loc 1 1959 6 is_stmt 0 view .LVU1688 4919 010e 12B1 cbz r2, .L311 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4920 .loc 1 1962 5 is_stmt 1 view .LVU1689 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4921 .loc 1 1962 42 is_stmt 0 view .LVU1690 4922 0110 8C69 ldr r4, [r1, #24] 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4923 .loc 1 1962 28 view .LVU1691 4924 0112 CEF81440 str r4, [lr, #20] 4925 .L311: 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR &= ~USB_OTG_HCCHAR_ODDFRM; 4926 .loc 1 1965 3 is_stmt 1 view .LVU1692 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR &= ~USB_OTG_HCCHAR_ODDFRM; 4927 .loc 1 1965 29 is_stmt 0 view .LVU1693 4928 0116 00F58065 add r5, r0, #1024 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR &= ~USB_OTG_HCCHAR_ODDFRM; 4929 .loc 1 1965 38 view .LVU1694 4930 011a AC68 ldr r4, [r5, #8] 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR &= ~USB_OTG_HCCHAR_ODDFRM; 4931 .loc 1 1965 67 view .LVU1695 4932 011c 14F0010F tst r4, #1 4933 0120 0CBF ite eq 4934 0122 4FF0010C moveq ip, #1 4935 0126 4FF0000C movne ip, #0 4936 .LVL355: 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR |= (uint32_t)is_oddframe << 29; 4937 .loc 1 1966 3 is_stmt 1 view .LVU1696 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR |= (uint32_t)is_oddframe << 29; 4938 .loc 1 1966 18 is_stmt 0 view .LVU1697 4939 012a D3F80045 ldr r4, [r3, #1280] 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR |= (uint32_t)is_oddframe << 29; ARM GAS /tmp/cc5wsx2R.s page 149 4940 .loc 1 1966 27 view .LVU1698 4941 012e 24F00054 bic r4, r4, #536870912 4942 0132 C3F80045 str r4, [r3, #1280] 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4943 .loc 1 1967 3 is_stmt 1 view .LVU1699 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4944 .loc 1 1967 18 is_stmt 0 view .LVU1700 4945 0136 D3F80045 ldr r4, [r3, #1280] 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4946 .loc 1 1967 27 view .LVU1701 4947 013a 44EA4C74 orr r4, r4, ip, lsl #29 4948 013e C3F80045 str r4, [r3, #1280] 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4949 .loc 1 1969 3 is_stmt 1 view .LVU1702 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4950 .loc 1 1969 9 is_stmt 0 view .LVU1703 4951 0142 8C79 ldrb r4, [r1, #6] @ zero_extendqisi2 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4952 .loc 1 1969 6 view .LVU1704 4953 0144 012C cmp r4, #1 4954 0146 2DD0 beq .L338 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4955 .loc 1 2025 5 is_stmt 1 view .LVU1705 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4956 .loc 1 2025 39 is_stmt 0 view .LVU1706 4957 0148 0024 movs r4, #0 4958 014a CEF80440 str r4, [lr, #4] 4959 .L316: 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= ~USB_OTG_HCCHAR_CHDIS; 4960 .loc 1 2029 3 is_stmt 1 view .LVU1707 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= ~USB_OTG_HCCHAR_CHDIS; 4961 .loc 1 2029 27 is_stmt 0 view .LVU1708 4962 014e D3F80045 ldr r4, [r3, #1280] 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= ~USB_OTG_HCCHAR_CHDIS; 4963 .loc 1 2029 10 view .LVU1709 4964 0152 0394 str r4, [sp, #12] 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4965 .loc 1 2030 3 is_stmt 1 view .LVU1710 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4966 .loc 1 2030 10 is_stmt 0 view .LVU1711 4967 0154 039C ldr r4, [sp, #12] 4968 0156 24F08044 bic r4, r4, #1073741824 4969 015a 0394 str r4, [sp, #12] 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4970 .loc 1 2033 3 is_stmt 1 view .LVU1712 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4971 .loc 1 2033 9 is_stmt 0 view .LVU1713 4972 015c CC78 ldrb r4, [r1, #3] @ zero_extendqisi2 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4973 .loc 1 2033 6 view .LVU1714 4974 015e 002C cmp r4, #0 4975 0160 7DD0 beq .L322 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4976 .loc 1 2035 5 is_stmt 1 view .LVU1715 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 4977 .loc 1 2035 12 is_stmt 0 view .LVU1716 4978 0162 039C ldr r4, [sp, #12] ARM GAS /tmp/cc5wsx2R.s page 150 4979 0164 44F40044 orr r4, r4, #32768 4980 0168 0394 str r4, [sp, #12] 4981 .L323: 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR = tmpreg; 4982 .loc 1 2041 3 is_stmt 1 view .LVU1717 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(ch_num)->HCCHAR = tmpreg; 4983 .loc 1 2041 10 is_stmt 0 view .LVU1718 4984 016a 039C ldr r4, [sp, #12] 4985 016c 44F00044 orr r4, r4, #-2147483648 4986 0170 0394 str r4, [sp, #12] 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4987 .loc 1 2042 3 is_stmt 1 view .LVU1719 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 4988 .loc 1 2042 27 is_stmt 0 view .LVU1720 4989 0172 039C ldr r4, [sp, #12] 4990 0174 C3F80045 str r4, [r3, #1280] 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4991 .loc 1 2044 3 is_stmt 1 view .LVU1721 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4992 .loc 1 2044 6 is_stmt 0 view .LVU1722 4993 0178 002A cmp r2, #0 4994 017a 40F08780 bne .L300 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4995 .loc 1 2049 3 is_stmt 1 view .LVU1723 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4996 .loc 1 2049 10 is_stmt 0 view .LVU1724 4997 017e CB78 ldrb r3, [r1, #3] @ zero_extendqisi2 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 4998 .loc 1 2049 6 view .LVU1725 4999 0180 002B cmp r3, #0 5000 0182 40F08380 bne .L300 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5001 .loc 1 2049 34 discriminator 1 view .LVU1726 5002 0186 0B6A ldr r3, [r1, #32] 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5003 .loc 1 2049 28 discriminator 1 view .LVU1727 5004 0188 002B cmp r3, #0 5005 018a 7FD0 beq .L300 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5006 .loc 1 2049 57 discriminator 2 view .LVU1728 5007 018c CA79 ldrb r2, [r1, #7] @ zero_extendqisi2 5008 .LVL356: 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5009 .loc 1 2049 51 discriminator 2 view .LVU1729 5010 018e 002A cmp r2, #0 5011 0190 7CD1 bne .L300 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5012 .loc 1 2051 5 is_stmt 1 view .LVU1730 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5013 .loc 1 2051 15 is_stmt 0 view .LVU1731 5014 0192 8A7C ldrb r2, [r1, #18] @ zero_extendqisi2 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5015 .loc 1 2051 5 view .LVU1732 5016 0194 032A cmp r2, #3 5017 0196 72D8 bhi .L324 5018 0198 DFE802F0 tbb [pc, r2] 5019 .L326: ARM GAS /tmp/cc5wsx2R.s page 151 5020 019c 66 .byte (.L327-.L326)/2 5021 019d 80 .byte (.L325-.L326)/2 5022 019e 66 .byte (.L327-.L326)/2 5023 019f 80 .byte (.L325-.L326)/2 5024 .LVL357: 5025 .p2align 1 5026 .L310: 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5027 .loc 1 1950 7 is_stmt 1 view .LVU1733 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5028 .loc 1 1950 20 is_stmt 0 view .LVU1734 5029 01a0 CD61 str r5, [r1, #28] 5030 01a2 A0E7 b .L303 5031 .LVL358: 5032 .L338: 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (uint32_t)hc->hub_port_nbr | USB_OTG_HCSPLT_SPLITEN; 5033 .loc 1 1972 5 is_stmt 1 view .LVU1735 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (uint32_t)hc->hub_port_nbr | USB_OTG_HCSPLT_SPLITEN; 5034 .loc 1 1972 54 is_stmt 0 view .LVU1736 5035 01a4 4E7C ldrb r6, [r1, #17] @ zero_extendqisi2 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 5036 .loc 1 1973 53 view .LVU1737 5037 01a6 0C7C ldrb r4, [r1, #16] @ zero_extendqisi2 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (uint32_t)hc->hub_port_nbr | USB_OTG_HCSPLT_SPLITEN; 5038 .loc 1 1972 96 view .LVU1738 5039 01a8 44EAC614 orr r4, r4, r6, lsl #7 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 5040 .loc 1 1973 68 view .LVU1739 5041 01ac 44F00044 orr r4, r4, #-2147483648 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (uint32_t)hc->hub_port_nbr | USB_OTG_HCSPLT_SPLITEN; 5042 .loc 1 1972 39 view .LVU1740 5043 01b0 CEF80440 str r4, [lr, #4] 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_NYET); 5044 .loc 1 1976 5 is_stmt 1 view .LVU1741 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_NYET); 5045 .loc 1 1976 30 is_stmt 0 view .LVU1742 5046 01b4 DEF80C40 ldr r4, [lr, #12] 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_HCINTMSK_NYET); 5047 .loc 1 1976 41 view .LVU1743 5048 01b8 44F06004 orr r4, r4, #96 5049 01bc CEF80C40 str r4, [lr, #12] 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5050 .loc 1 1979 5 is_stmt 1 view .LVU1744 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5051 .loc 1 1979 12 is_stmt 0 view .LVU1745 5052 01c0 CC79 ldrb r4, [r1, #7] @ zero_extendqisi2 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5053 .loc 1 1979 8 view .LVU1746 5054 01c2 012C cmp r4, #1 5055 01c4 12D0 beq .L339 5056 .L313: 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (hc->do_csplit == 1U) && (hc->ep_is_in == 1U)) 5057 .loc 1 1985 5 is_stmt 1 view .LVU1747 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (hc->do_csplit == 1U) && (hc->ep_is_in == 1U)) 5058 .loc 1 1985 13 is_stmt 0 view .LVU1748 5059 01c6 8C7C ldrb r4, [r1, #18] @ zero_extendqisi2 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (hc->do_csplit == 1U) && (hc->ep_is_in == 1U)) ARM GAS /tmp/cc5wsx2R.s page 152 5060 .loc 1 1985 8 view .LVU1749 5061 01c8 012C cmp r4, #1 5062 01ca 1FD0 beq .L314 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (hc->do_csplit == 1U) && (hc->ep_is_in == 1U)) 5063 .loc 1 1985 40 discriminator 2 view .LVU1750 5064 01cc 032C cmp r4, #3 5065 01ce 1DD0 beq .L314 5066 .L315: 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5067 .loc 1 1992 5 is_stmt 1 view .LVU1751 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5068 .loc 1 1992 12 is_stmt 0 view .LVU1752 5069 01d0 8C7C ldrb r4, [r1, #18] @ zero_extendqisi2 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5070 .loc 1 1992 8 view .LVU1753 5071 01d2 012C cmp r4, #1 5072 01d4 BBD1 bne .L316 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5073 .loc 1 1992 45 discriminator 1 view .LVU1754 5074 01d6 CC78 ldrb r4, [r1, #3] @ zero_extendqisi2 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5075 .loc 1 1992 39 discriminator 1 view .LVU1755 5076 01d8 002C cmp r4, #0 5077 01da B8D1 bne .L316 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5078 .loc 1 1995 7 is_stmt 1 view .LVU1756 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5079 .loc 1 1995 17 is_stmt 0 view .LVU1757 5080 01dc CC68 ldr r4, [r1, #12] 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5081 .loc 1 1995 7 view .LVU1758 5082 01de 013C subs r4, r4, #1 5083 01e0 032C cmp r4, #3 5084 01e2 B4D8 bhi .L316 5085 01e4 DFE804F0 tbb [pc, r4] 5086 .L318: 5087 01e8 1F .byte (.L321-.L318)/2 5088 01e9 26 .byte (.L320-.L318)/2 5089 01ea 2D .byte (.L319-.L318)/2 5090 01eb 34 .byte (.L317-.L318)/2 5091 .p2align 1 5092 .L339: 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5093 .loc 1 1979 37 discriminator 1 view .LVU1759 5094 01ec CC78 ldrb r4, [r1, #3] @ zero_extendqisi2 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5095 .loc 1 1979 31 discriminator 1 view .LVU1760 5096 01ee 002C cmp r4, #0 5097 01f0 E9D1 bne .L313 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_NYET; 5098 .loc 1 1981 7 is_stmt 1 view .LVU1761 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_NYET; 5099 .loc 1 1981 32 is_stmt 0 view .LVU1762 5100 01f2 DEF80440 ldr r4, [lr, #4] 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC((uint32_t)ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_NYET; 5101 .loc 1 1981 41 view .LVU1763 5102 01f6 44F48034 orr r4, r4, #65536 ARM GAS /tmp/cc5wsx2R.s page 153 5103 01fa CEF80440 str r4, [lr, #4] 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5104 .loc 1 1982 7 is_stmt 1 view .LVU1764 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5105 .loc 1 1982 32 is_stmt 0 view .LVU1765 5106 01fe DEF80C40 ldr r4, [lr, #12] 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5107 .loc 1 1982 43 view .LVU1766 5108 0202 44F04004 orr r4, r4, #64 5109 0206 CEF80C40 str r4, [lr, #12] 5110 020a DCE7 b .L313 5111 .L314: 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5112 .loc 1 1986 12 view .LVU1767 5113 020c CC79 ldrb r4, [r1, #7] @ zero_extendqisi2 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (hc->do_csplit == 1U) && (hc->ep_is_in == 1U)) 5114 .loc 1 1985 74 discriminator 3 view .LVU1768 5115 020e 012C cmp r4, #1 5116 0210 DED1 bne .L315 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5117 .loc 1 1986 37 view .LVU1769 5118 0212 CC78 ldrb r4, [r1, #3] @ zero_extendqisi2 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5119 .loc 1 1986 31 view .LVU1770 5120 0214 012C cmp r4, #1 5121 0216 DBD1 bne .L315 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5122 .loc 1 1988 7 is_stmt 1 view .LVU1771 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5123 .loc 1 1988 32 is_stmt 0 view .LVU1772 5124 0218 DEF80440 ldr r4, [lr, #4] 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5125 .loc 1 1988 41 view .LVU1773 5126 021c 44F48034 orr r4, r4, #65536 5127 0220 CEF80440 str r4, [lr, #4] 5128 0224 D4E7 b .L315 5129 .L321: 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5130 .loc 1 1999 11 is_stmt 1 view .LVU1774 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5131 .loc 1 1999 36 is_stmt 0 view .LVU1775 5132 0226 DEF80440 ldr r4, [lr, #4] 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5133 .loc 1 1999 45 view .LVU1776 5134 022a 44F40044 orr r4, r4, #32768 5135 022e CEF80440 str r4, [lr, #4] 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 5136 .loc 1 2000 11 is_stmt 1 view .LVU1777 5137 0232 8CE7 b .L316 5138 .L320: 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5139 .loc 1 2004 11 view .LVU1778 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5140 .loc 1 2004 36 is_stmt 0 view .LVU1779 5141 0234 DEF80440 ldr r4, [lr, #4] 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5142 .loc 1 2004 45 view .LVU1780 ARM GAS /tmp/cc5wsx2R.s page 154 5143 0238 44F00E04 orr r4, r4, #14 5144 023c CEF80440 str r4, [lr, #4] 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 5145 .loc 1 2005 11 is_stmt 1 view .LVU1781 5146 0240 85E7 b .L316 5147 .L319: 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5148 .loc 1 2009 11 view .LVU1782 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5149 .loc 1 2009 36 is_stmt 0 view .LVU1783 5150 0242 DEF80440 ldr r4, [lr, #4] 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5151 .loc 1 2009 45 view .LVU1784 5152 0246 44F48044 orr r4, r4, #16384 5153 024a CEF80440 str r4, [lr, #4] 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 5154 .loc 1 2010 11 is_stmt 1 view .LVU1785 5155 024e 7EE7 b .L316 5156 .L317: 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5157 .loc 1 2014 11 view .LVU1786 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5158 .loc 1 2014 36 is_stmt 0 view .LVU1787 5159 0250 DEF80440 ldr r4, [lr, #4] 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 5160 .loc 1 2014 45 view .LVU1788 5161 0254 44F44044 orr r4, r4, #49152 5162 0258 CEF80440 str r4, [lr, #4] 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 5163 .loc 1 2015 11 is_stmt 1 view .LVU1789 5164 025c 77E7 b .L316 5165 .L322: 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5166 .loc 1 2039 5 view .LVU1790 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5167 .loc 1 2039 12 is_stmt 0 view .LVU1791 5168 025e 039C ldr r4, [sp, #12] 5169 0260 24F40044 bic r4, r4, #32768 5170 0264 0394 str r4, [sp, #12] 5171 0266 80E7 b .L323 5172 .LVL359: 5173 .L327: 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 5174 .loc 1 2057 9 is_stmt 1 view .LVU1792 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 5175 .loc 1 2057 46 is_stmt 0 view .LVU1793 5176 0268 0333 adds r3, r3, #3 5177 .LVL360: 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5178 .loc 1 2060 9 is_stmt 1 view .LVU1794 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5179 .loc 1 2060 30 is_stmt 0 view .LVU1795 5180 026a C26A ldr r2, [r0, #44] 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5181 .loc 1 2060 41 view .LVU1796 5182 026c 92B2 uxth r2, r2 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/cc5wsx2R.s page 155 5183 .loc 1 2060 12 view .LVU1797 5184 026e C3F38F03 ubfx r3, r3, #2, #16 5185 .LVL361: 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5186 .loc 1 2060 12 view .LVU1798 5187 0272 9342 cmp r3, r2 5188 0274 03D9 bls .L324 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5189 .loc 1 2063 11 is_stmt 1 view .LVU1799 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5190 .loc 1 2063 15 is_stmt 0 view .LVU1800 5191 0276 8369 ldr r3, [r0, #24] 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5192 .loc 1 2063 25 view .LVU1801 5193 0278 43F02003 orr r3, r3, #32 5194 027c 8361 str r3, [r0, #24] 5195 .LVL362: 5196 .L324: 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5197 .loc 1 2084 5 is_stmt 1 view .LVU1802 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5198 .loc 1 2084 11 is_stmt 0 view .LVU1803 5199 027e 0023 movs r3, #0 5200 0280 0093 str r3, [sp] 5201 0282 0B8C ldrh r3, [r1, #32] 5202 0284 4A78 ldrb r2, [r1, #1] @ zero_extendqisi2 5203 0286 8969 ldr r1, [r1, #24] 5204 .LVL363: 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5205 .loc 1 2084 11 view .LVU1804 5206 0288 FFF7FEFF bl USB_WritePacket 5207 .LVL364: 5208 .L300: 2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 5209 .loc 1 2088 1 view .LVU1805 5210 028c 0020 movs r0, #0 5211 028e 04B0 add sp, sp, #16 5212 .LCFI61: 5213 .cfi_remember_state 5214 .cfi_def_cfa_offset 16 5215 @ sp needed 5216 0290 70BD pop {r4, r5, r6, pc} 5217 .L341: 5218 0292 00BF .align 2 5219 .L340: 5220 0294 00000440 .word 1074003968 5221 0298 0000F81F .word 536346624 5222 .LVL365: 5223 .L325: 5224 .LCFI62: 5225 .cfi_restore_state 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* check if there is enough space in FIFO space */ 5226 .loc 1 2070 9 is_stmt 1 view .LVU1806 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* check if there is enough space in FIFO space */ 5227 .loc 1 2070 46 is_stmt 0 view .LVU1807 5228 029c 0333 adds r3, r3, #3 5229 .LVL366: ARM GAS /tmp/cc5wsx2R.s page 156 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5230 .loc 1 2072 9 is_stmt 1 view .LVU1808 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5231 .loc 1 2072 35 is_stmt 0 view .LVU1809 5232 029e 2A69 ldr r2, [r5, #16] 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5233 .loc 1 2072 45 view .LVU1810 5234 02a0 92B2 uxth r2, r2 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5235 .loc 1 2072 12 view .LVU1811 5236 02a2 C3F38F03 ubfx r3, r3, #2, #16 5237 .LVL367: 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5238 .loc 1 2072 12 view .LVU1812 5239 02a6 9A42 cmp r2, r3 5240 02a8 E9D2 bcs .L324 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5241 .loc 1 2075 11 is_stmt 1 view .LVU1813 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5242 .loc 1 2075 15 is_stmt 0 view .LVU1814 5243 02aa 8369 ldr r3, [r0, #24] 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5244 .loc 1 2075 25 view .LVU1815 5245 02ac 43F08063 orr r3, r3, #67108864 5246 02b0 8361 str r3, [r0, #24] 5247 .LVL368: 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5248 .loc 1 2075 25 view .LVU1816 5249 02b2 E4E7 b .L324 5250 .cfi_endproc 5251 .LFE281: 5253 .section .text.USB_StopHost,"ax",%progbits 5254 .align 1 5255 .global USB_StopHost 5256 .syntax unified 5257 .thumb 5258 .thumb_func 5260 USB_StopHost: 5261 .LVL369: 5262 .LFB285: 2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Stop Host Core 2214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL state 2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_StopHost(USB_OTG_GlobalTypeDef *USBx) 2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5263 .loc 1 2218 1 is_stmt 1 view -0 5264 .cfi_startproc 5265 @ args = 0, pretend = 0, frame = 8 5266 @ frame_needed = 0, uses_anonymous_args = 0 5267 .loc 1 2218 1 is_stmt 0 view .LVU1818 5268 0000 30B5 push {r4, r5, lr} 5269 .LCFI63: 5270 .cfi_def_cfa_offset 12 5271 .cfi_offset 4, -12 ARM GAS /tmp/cc5wsx2R.s page 157 5272 .cfi_offset 5, -8 5273 .cfi_offset 14, -4 5274 0002 83B0 sub sp, sp, #12 5275 .LCFI64: 5276 .cfi_def_cfa_offset 24 5277 0004 0446 mov r4, r0 2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK; 5278 .loc 1 2219 3 is_stmt 1 view .LVU1819 5279 .LVL370: 2220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 5280 .loc 1 2220 3 view .LVU1820 2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 5281 .loc 1 2221 3 view .LVU1821 5282 .loc 1 2221 17 is_stmt 0 view .LVU1822 5283 0006 0023 movs r3, #0 5284 0008 0193 str r3, [sp, #4] 2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t value; 5285 .loc 1 2222 3 is_stmt 1 view .LVU1823 2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 5286 .loc 1 2223 3 view .LVU1824 2224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_DisableGlobalInt(USBx); 5287 .loc 1 2225 3 view .LVU1825 5288 .loc 1 2225 9 is_stmt 0 view .LVU1826 5289 000a FFF7FEFF bl USB_DisableGlobalInt 5290 .LVL371: 2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Flush USB FIFO */ 2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (USB_FlushTxFifo(USBx, 0x10U) != HAL_OK) /* all Tx FIFOs */ 5291 .loc 1 2228 3 is_stmt 1 view .LVU1827 5292 .loc 1 2228 7 is_stmt 0 view .LVU1828 5293 000e 1021 movs r1, #16 5294 0010 2046 mov r0, r4 5295 0012 FFF7FEFF bl USB_FlushTxFifo 5296 .LVL372: 5297 .loc 1 2228 6 discriminator 1 view .LVU1829 5298 0016 0546 mov r5, r0 5299 0018 00B1 cbz r0, .L343 2229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = HAL_ERROR; 5300 .loc 1 2230 9 view .LVU1830 5301 001a 0125 movs r5, #1 5302 .L343: 5303 .LVL373: 2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (USB_FlushRxFifo(USBx) != HAL_OK) 5304 .loc 1 2233 3 is_stmt 1 view .LVU1831 5305 .loc 1 2233 7 is_stmt 0 view .LVU1832 5306 001c 2046 mov r0, r4 5307 001e FFF7FEFF bl USB_FlushRxFifo 5308 .LVL374: 5309 .loc 1 2233 6 discriminator 1 view .LVU1833 5310 0022 00B1 cbz r0, .L344 2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = HAL_ERROR; 5311 .loc 1 2235 9 view .LVU1834 ARM GAS /tmp/cc5wsx2R.s page 158 5312 0024 0125 movs r5, #1 5313 .LVL375: 5314 .L344: 2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Flush out any leftover queued requests. */ 2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i <= 15U; i++) 5315 .loc 1 2239 3 is_stmt 1 view .LVU1835 5316 .loc 1 2239 10 is_stmt 0 view .LVU1836 5317 0026 0022 movs r2, #0 5318 .loc 1 2239 3 view .LVU1837 5319 0028 0AE0 b .L345 5320 .LVL376: 5321 .L346: 2240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** value = USBx_HC(i)->HCCHAR; 5322 .loc 1 2241 5 is_stmt 1 view .LVU1838 5323 .loc 1 2241 13 is_stmt 0 view .LVU1839 5324 002a 04EB4211 add r1, r4, r2, lsl #5 5325 .loc 1 2241 11 view .LVU1840 5326 002e D1F80035 ldr r3, [r1, #1280] 5327 .LVL377: 2242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** value |= USB_OTG_HCCHAR_CHDIS; 5328 .loc 1 2242 5 is_stmt 1 view .LVU1841 2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** value &= ~USB_OTG_HCCHAR_CHENA; 5329 .loc 1 2243 5 view .LVU1842 2244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** value &= ~USB_OTG_HCCHAR_EPDIR; 5330 .loc 1 2244 5 view .LVU1843 5331 0032 23F08023 bic r3, r3, #-2147450880 5332 .LVL378: 5333 .loc 1 2244 11 is_stmt 0 view .LVU1844 5334 0036 43F08043 orr r3, r3, #1073741824 5335 .LVL379: 2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(i)->HCCHAR = value; 5336 .loc 1 2245 5 is_stmt 1 view .LVU1845 5337 .loc 1 2245 24 is_stmt 0 view .LVU1846 5338 003a C1F80035 str r3, [r1, #1280] 2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5339 .loc 1 2239 27 is_stmt 1 discriminator 3 view .LVU1847 5340 003e 0132 adds r2, r2, #1 5341 .LVL380: 5342 .L345: 2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5343 .loc 1 2239 18 discriminator 1 view .LVU1848 5344 0040 0F2A cmp r2, #15 5345 0042 F2D9 bls .L346 2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Halt all channels to put them into a known state. */ 2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i <= 15U; i++) 5346 .loc 1 2249 10 is_stmt 0 view .LVU1849 5347 0044 0021 movs r1, #0 5348 0046 00E0 b .L347 5349 .LVL381: 5350 .L348: 5351 .loc 1 2249 27 is_stmt 1 discriminator 2 view .LVU1850 5352 0048 0131 adds r1, r1, #1 ARM GAS /tmp/cc5wsx2R.s page 159 5353 .LVL382: 5354 .L347: 5355 .loc 1 2249 18 discriminator 1 view .LVU1851 5356 004a 0F29 cmp r1, #15 5357 004c 16D8 bhi .L354 2250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** value = USBx_HC(i)->HCCHAR; 5358 .loc 1 2251 5 view .LVU1852 5359 .loc 1 2251 13 is_stmt 0 view .LVU1853 5360 004e 04EB4110 add r0, r4, r1, lsl #5 5361 0052 00F5A062 add r2, r0, #1280 5362 .loc 1 2251 11 view .LVU1854 5363 0056 D0F80035 ldr r3, [r0, #1280] 5364 .LVL383: 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** value |= USB_OTG_HCCHAR_CHDIS; 5365 .loc 1 2252 5 is_stmt 1 view .LVU1855 2253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** value |= USB_OTG_HCCHAR_CHENA; 5366 .loc 1 2253 5 view .LVU1856 2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** value &= ~USB_OTG_HCCHAR_EPDIR; 5367 .loc 1 2254 5 view .LVU1857 5368 005a 23F40043 bic r3, r3, #32768 5369 .LVL384: 5370 .loc 1 2254 11 is_stmt 0 view .LVU1858 5371 005e 43F04043 orr r3, r3, #-1073741824 5372 .LVL385: 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HC(i)->HCCHAR = value; 5373 .loc 1 2255 5 is_stmt 1 view .LVU1859 5374 .loc 1 2255 24 is_stmt 0 view .LVU1860 5375 0062 C0F80035 str r3, [r0, #1280] 5376 .LVL386: 5377 .L349: 2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 5378 .loc 1 2257 5 is_stmt 1 view .LVU1861 2258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count++; 5379 .loc 1 2259 7 view .LVU1862 5380 .loc 1 2259 12 is_stmt 0 view .LVU1863 5381 0066 019B ldr r3, [sp, #4] 5382 0068 0133 adds r3, r3, #1 5383 006a 0193 str r3, [sp, #4] 2260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (count > 1000U) 5384 .loc 1 2261 7 is_stmt 1 view .LVU1864 5385 .loc 1 2261 17 is_stmt 0 view .LVU1865 5386 006c 019B ldr r3, [sp, #4] 5387 .loc 1 2261 10 view .LVU1866 5388 006e B3F57A7F cmp r3, #1000 5389 0072 E9D8 bhi .L348 2262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** break; 2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USBx_HC(i)->HCCHAR & USB_OTG_HCCHAR_CHENA) == USB_OTG_HCCHAR_CHENA); 5390 .loc 1 2265 58 is_stmt 1 view .LVU1867 5391 .loc 1 2265 25 is_stmt 0 view .LVU1868 5392 0074 1368 ldr r3, [r2] 5393 .loc 1 2265 58 view .LVU1869 ARM GAS /tmp/cc5wsx2R.s page 160 5394 0076 002B cmp r3, #0 5395 0078 F5DB blt .L349 5396 007a E5E7 b .L348 5397 .LVL387: 5398 .L354: 2266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear any pending Host interrupts */ 2269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_HOST->HAINT = CLEAR_INTERRUPT_MASK; 5399 .loc 1 2269 3 is_stmt 1 view .LVU1870 5400 .loc 1 2269 20 is_stmt 0 view .LVU1871 5401 007c 4FF0FF33 mov r3, #-1 5402 0080 C4F81434 str r3, [r4, #1044] 2270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTSTS = CLEAR_INTERRUPT_MASK; 5403 .loc 1 2270 3 is_stmt 1 view .LVU1872 5404 .loc 1 2270 17 is_stmt 0 view .LVU1873 5405 0084 6361 str r3, [r4, #20] 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_EnableGlobalInt(USBx); 5406 .loc 1 2272 3 is_stmt 1 view .LVU1874 5407 .loc 1 2272 9 is_stmt 0 view .LVU1875 5408 0086 2046 mov r0, r4 5409 0088 FFF7FEFF bl USB_EnableGlobalInt 5410 .LVL388: 2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 5411 .loc 1 2274 3 is_stmt 1 view .LVU1876 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5412 .loc 1 2275 1 is_stmt 0 view .LVU1877 5413 008c 2846 mov r0, r5 5414 008e 03B0 add sp, sp, #12 5415 .LCFI65: 5416 .cfi_def_cfa_offset 12 5417 @ sp needed 5418 0090 30BD pop {r4, r5, pc} 5419 .loc 1 2275 1 view .LVU1878 5420 .cfi_endproc 5421 .LFE285: 5423 .section .text.USB_ActivateRemoteWakeup,"ax",%progbits 5424 .align 1 5425 .global USB_ActivateRemoteWakeup 5426 .syntax unified 5427 .thumb 5428 .thumb_func 5430 USB_ActivateRemoteWakeup: 5431 .LVL389: 5432 .LFB286: 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ActivateRemoteWakeup active remote wakeup signalling 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateRemoteWakeup(const USB_OTG_GlobalTypeDef *USBx) 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5433 .loc 1 2283 1 is_stmt 1 view -0 5434 .cfi_startproc ARM GAS /tmp/cc5wsx2R.s page 161 5435 @ args = 0, pretend = 0, frame = 0 5436 @ frame_needed = 0, uses_anonymous_args = 0 5437 @ link register save eliminated. 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 5438 .loc 1 2284 3 view .LVU1880 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_DEVICE->DSTS & USB_OTG_DSTS_SUSPSTS) == USB_OTG_DSTS_SUSPSTS) 5439 .loc 1 2286 3 view .LVU1881 5440 .loc 1 2286 19 is_stmt 0 view .LVU1882 5441 0000 D0F80838 ldr r3, [r0, #2056] 5442 .loc 1 2286 8 view .LVU1883 5443 0004 00F50060 add r0, r0, #2048 5444 .LVL390: 5445 .loc 1 2286 6 view .LVU1884 5446 0008 13F0010F tst r3, #1 5447 000c 03D0 beq .L356 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* active Remote wakeup signalling */ 2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL |= USB_OTG_DCTL_RWUSIG; 5448 .loc 1 2289 5 is_stmt 1 view .LVU1885 5449 .loc 1 2289 16 is_stmt 0 view .LVU1886 5450 000e 4368 ldr r3, [r0, #4] 5451 .loc 1 2289 23 view .LVU1887 5452 0010 43F00103 orr r3, r3, #1 5453 0014 4360 str r3, [r0, #4] 5454 .L356: 2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 2291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 5455 .loc 1 2292 3 is_stmt 1 view .LVU1888 2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5456 .loc 1 2293 1 is_stmt 0 view .LVU1889 5457 0016 0020 movs r0, #0 5458 .LVL391: 5459 .loc 1 2293 1 view .LVU1890 5460 0018 7047 bx lr 5461 .cfi_endproc 5462 .LFE286: 5464 .section .text.USB_DeActivateRemoteWakeup,"ax",%progbits 5465 .align 1 5466 .global USB_DeActivateRemoteWakeup 5467 .syntax unified 5468 .thumb 5469 .thumb_func 5471 USB_DeActivateRemoteWakeup: 5472 .LVL392: 5473 .LFB287: 2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 2296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_DeActivateRemoteWakeup de-active remote wakeup signalling 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DeActivateRemoteWakeup(const USB_OTG_GlobalTypeDef *USBx) 2301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 5474 .loc 1 2301 1 is_stmt 1 view -0 5475 .cfi_startproc ARM GAS /tmp/cc5wsx2R.s page 162 5476 @ args = 0, pretend = 0, frame = 0 5477 @ frame_needed = 0, uses_anonymous_args = 0 5478 @ link register save eliminated. 2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 5479 .loc 1 2302 3 view .LVU1892 2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* active Remote wakeup signalling */ 2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL &= ~(USB_OTG_DCTL_RWUSIG); 5480 .loc 1 2305 3 view .LVU1893 5481 .loc 1 2305 14 is_stmt 0 view .LVU1894 5482 0000 D0F80438 ldr r3, [r0, #2052] 5483 .loc 1 2305 21 view .LVU1895 5484 0004 23F00103 bic r3, r3, #1 5485 0008 C0F80438 str r3, [r0, #2052] 2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 2307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 5486 .loc 1 2307 3 is_stmt 1 view .LVU1896 2308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 5487 .loc 1 2308 1 is_stmt 0 view .LVU1897 5488 000c 0020 movs r0, #0 5489 .LVL393: 5490 .loc 1 2308 1 view .LVU1898 5491 000e 7047 bx lr 5492 .cfi_endproc 5493 .LFE287: 5495 .text 5496 .Letext0: 5497 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h" 5498 .file 3 "Drivers/CMSIS/Include/cmsis_gcc.h" 5499 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h" 5500 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 5501 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h" 5502 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h" ARM GAS /tmp/cc5wsx2R.s page 163 DEFINED SYMBOLS *ABS*:00000000 stm32f4xx_ll_usb.c /tmp/cc5wsx2R.s:21 .text.USB_CoreReset:00000000 $t /tmp/cc5wsx2R.s:26 .text.USB_CoreReset:00000000 USB_CoreReset /tmp/cc5wsx2R.s:135 .text.USB_CoreInit:00000000 $t /tmp/cc5wsx2R.s:141 .text.USB_CoreInit:00000000 USB_CoreInit /tmp/cc5wsx2R.s:283 .text.USB_SetTurnaroundTime:00000000 $t /tmp/cc5wsx2R.s:289 .text.USB_SetTurnaroundTime:00000000 USB_SetTurnaroundTime /tmp/cc5wsx2R.s:442 .text.USB_SetTurnaroundTime:000000a8 $d /tmp/cc5wsx2R.s:461 .text.USB_EnableGlobalInt:00000000 $t /tmp/cc5wsx2R.s:467 .text.USB_EnableGlobalInt:00000000 USB_EnableGlobalInt /tmp/cc5wsx2R.s:491 .text.USB_DisableGlobalInt:00000000 $t /tmp/cc5wsx2R.s:497 .text.USB_DisableGlobalInt:00000000 USB_DisableGlobalInt /tmp/cc5wsx2R.s:521 .text.USB_FlushTxFifo:00000000 $t /tmp/cc5wsx2R.s:527 .text.USB_FlushTxFifo:00000000 USB_FlushTxFifo /tmp/cc5wsx2R.s:624 .text.USB_FlushRxFifo:00000000 $t /tmp/cc5wsx2R.s:630 .text.USB_FlushRxFifo:00000000 USB_FlushRxFifo /tmp/cc5wsx2R.s:723 .text.USB_SetDevSpeed:00000000 $t /tmp/cc5wsx2R.s:729 .text.USB_SetDevSpeed:00000000 USB_SetDevSpeed /tmp/cc5wsx2R.s:756 .text.USB_DevInit:00000000 $t /tmp/cc5wsx2R.s:762 .text.USB_DevInit:00000000 USB_DevInit /tmp/cc5wsx2R.s:1120 .text.USB_DevInit:00000190 $d /tmp/cc5wsx2R.s:1125 .text.USB_GetDevSpeed:00000000 $t /tmp/cc5wsx2R.s:1131 .text.USB_GetDevSpeed:00000000 USB_GetDevSpeed /tmp/cc5wsx2R.s:1184 .text.USB_ActivateEndpoint:00000000 $t /tmp/cc5wsx2R.s:1190 .text.USB_ActivateEndpoint:00000000 USB_ActivateEndpoint /tmp/cc5wsx2R.s:1306 .text.USB_ActivateDedicatedEndpoint:00000000 $t /tmp/cc5wsx2R.s:1312 .text.USB_ActivateDedicatedEndpoint:00000000 USB_ActivateDedicatedEndpoint /tmp/cc5wsx2R.s:1437 .text.USB_DeactivateEndpoint:00000000 $t /tmp/cc5wsx2R.s:1443 .text.USB_DeactivateEndpoint:00000000 USB_DeactivateEndpoint /tmp/cc5wsx2R.s:1614 .text.USB_DeactivateEndpoint:000000d8 $d /tmp/cc5wsx2R.s:1620 .text.USB_DeactivateDedicatedEndpoint:00000000 $t /tmp/cc5wsx2R.s:1626 .text.USB_DeactivateDedicatedEndpoint:00000000 USB_DeactivateDedicatedEndpoint /tmp/cc5wsx2R.s:1755 .text.USB_EPStopXfer:00000000 $t /tmp/cc5wsx2R.s:1761 .text.USB_EPStopXfer:00000000 USB_EPStopXfer /tmp/cc5wsx2R.s:1923 .text.USB_WritePacket:00000000 $t /tmp/cc5wsx2R.s:1929 .text.USB_WritePacket:00000000 USB_WritePacket /tmp/cc5wsx2R.s:1998 .text.USB_EPStartXfer:00000000 $t /tmp/cc5wsx2R.s:2004 .text.USB_EPStartXfer:00000000 USB_EPStartXfer /tmp/cc5wsx2R.s:2478 .text.USB_EPStartXfer:00000240 $d /tmp/cc5wsx2R.s:2483 .text.USB_ReadPacket:00000000 $t /tmp/cc5wsx2R.s:2489 .text.USB_ReadPacket:00000000 USB_ReadPacket /tmp/cc5wsx2R.s:2588 .text.USB_EPSetStall:00000000 $t /tmp/cc5wsx2R.s:2594 .text.USB_EPSetStall:00000000 USB_EPSetStall /tmp/cc5wsx2R.s:2677 .text.USB_EPClearStall:00000000 $t /tmp/cc5wsx2R.s:2683 .text.USB_EPClearStall:00000000 USB_EPClearStall /tmp/cc5wsx2R.s:2768 .text.USB_StopDevice:00000000 $t /tmp/cc5wsx2R.s:2774 .text.USB_StopDevice:00000000 USB_StopDevice /tmp/cc5wsx2R.s:2856 .text.USB_SetDevAddress:00000000 $t /tmp/cc5wsx2R.s:2862 .text.USB_SetDevAddress:00000000 USB_SetDevAddress /tmp/cc5wsx2R.s:2898 .text.USB_DevConnect:00000000 $t /tmp/cc5wsx2R.s:2904 .text.USB_DevConnect:00000000 USB_DevConnect /tmp/cc5wsx2R.s:2934 .text.USB_DevDisconnect:00000000 $t /tmp/cc5wsx2R.s:2940 .text.USB_DevDisconnect:00000000 USB_DevDisconnect /tmp/cc5wsx2R.s:2970 .text.USB_ReadInterrupts:00000000 $t /tmp/cc5wsx2R.s:2976 .text.USB_ReadInterrupts:00000000 USB_ReadInterrupts /tmp/cc5wsx2R.s:3003 .text.USB_ReadChInterrupts:00000000 $t ARM GAS /tmp/cc5wsx2R.s page 164 /tmp/cc5wsx2R.s:3009 .text.USB_ReadChInterrupts:00000000 USB_ReadChInterrupts /tmp/cc5wsx2R.s:3042 .text.USB_ReadDevAllOutEpInterrupt:00000000 $t /tmp/cc5wsx2R.s:3048 .text.USB_ReadDevAllOutEpInterrupt:00000000 USB_ReadDevAllOutEpInterrupt /tmp/cc5wsx2R.s:3081 .text.USB_ReadDevAllInEpInterrupt:00000000 $t /tmp/cc5wsx2R.s:3087 .text.USB_ReadDevAllInEpInterrupt:00000000 USB_ReadDevAllInEpInterrupt /tmp/cc5wsx2R.s:3120 .text.USB_ReadDevOutEPInterrupt:00000000 $t /tmp/cc5wsx2R.s:3126 .text.USB_ReadDevOutEPInterrupt:00000000 USB_ReadDevOutEPInterrupt /tmp/cc5wsx2R.s:3160 .text.USB_ReadDevInEPInterrupt:00000000 $t /tmp/cc5wsx2R.s:3166 .text.USB_ReadDevInEPInterrupt:00000000 USB_ReadDevInEPInterrupt /tmp/cc5wsx2R.s:3217 .text.USB_ClearInterrupts:00000000 $t /tmp/cc5wsx2R.s:3223 .text.USB_ClearInterrupts:00000000 USB_ClearInterrupts /tmp/cc5wsx2R.s:3243 .text.USB_GetMode:00000000 $t /tmp/cc5wsx2R.s:3249 .text.USB_GetMode:00000000 USB_GetMode /tmp/cc5wsx2R.s:3268 .text.USB_SetCurrentMode:00000000 $t /tmp/cc5wsx2R.s:3274 .text.USB_SetCurrentMode:00000000 USB_SetCurrentMode /tmp/cc5wsx2R.s:3394 .text.USB_ActivateSetup:00000000 $t /tmp/cc5wsx2R.s:3400 .text.USB_ActivateSetup:00000000 USB_ActivateSetup /tmp/cc5wsx2R.s:3431 .text.USB_EP0_OutStart:00000000 $t /tmp/cc5wsx2R.s:3437 .text.USB_EP0_OutStart:00000000 USB_EP0_OutStart /tmp/cc5wsx2R.s:3524 .text.USB_EP0_OutStart:0000005c $d /tmp/cc5wsx2R.s:3529 .text.USB_HostInit:00000000 $t /tmp/cc5wsx2R.s:3535 .text.USB_HostInit:00000000 USB_HostInit /tmp/cc5wsx2R.s:3752 .text.USB_HostInit:000000f0 $d /tmp/cc5wsx2R.s:3760 .text.USB_InitFSLSPClkSel:00000000 $t /tmp/cc5wsx2R.s:3766 .text.USB_InitFSLSPClkSel:00000000 USB_InitFSLSPClkSel /tmp/cc5wsx2R.s:3829 .text.USB_ResetPort:00000000 $t /tmp/cc5wsx2R.s:3835 .text.USB_ResetPort:00000000 USB_ResetPort /tmp/cc5wsx2R.s:3904 .text.USB_DriveVbus:00000000 $t /tmp/cc5wsx2R.s:3910 .text.USB_DriveVbus:00000000 USB_DriveVbus /tmp/cc5wsx2R.s:3989 .text.USB_GetHostSpeed:00000000 $t /tmp/cc5wsx2R.s:3995 .text.USB_GetHostSpeed:00000000 USB_GetHostSpeed /tmp/cc5wsx2R.s:4033 .text.USB_GetCurrentFrame:00000000 $t /tmp/cc5wsx2R.s:4039 .text.USB_GetCurrentFrame:00000000 USB_GetCurrentFrame /tmp/cc5wsx2R.s:4062 .text.USB_HC_Init:00000000 $t /tmp/cc5wsx2R.s:4068 .text.USB_HC_Init:00000000 USB_HC_Init /tmp/cc5wsx2R.s:4110 .text.USB_HC_Init:00000022 $d /tmp/cc5wsx2R.s:4114 .text.USB_HC_Init:00000026 $t /tmp/cc5wsx2R.s:4322 .text.USB_HC_Init:0000012c $d /tmp/cc5wsx2R.s:4327 .text.USB_HC_ReadInterrupt:00000000 $t /tmp/cc5wsx2R.s:4333 .text.USB_HC_ReadInterrupt:00000000 USB_HC_ReadInterrupt /tmp/cc5wsx2R.s:4356 .text.USB_HC_Halt:00000000 $t /tmp/cc5wsx2R.s:4362 .text.USB_HC_Halt:00000000 USB_HC_Halt /tmp/cc5wsx2R.s:4581 .text.USB_DoPing:00000000 $t /tmp/cc5wsx2R.s:4587 .text.USB_DoPing:00000000 USB_DoPing /tmp/cc5wsx2R.s:4627 .text.USB_DoPing:00000020 $d /tmp/cc5wsx2R.s:4632 .text.USB_HC_StartXfer:00000000 $t /tmp/cc5wsx2R.s:4638 .text.USB_HC_StartXfer:00000000 USB_HC_StartXfer /tmp/cc5wsx2R.s:5020 .text.USB_HC_StartXfer:0000019c $d /tmp/cc5wsx2R.s:5025 .text.USB_HC_StartXfer:000001a0 $t /tmp/cc5wsx2R.s:5087 .text.USB_HC_StartXfer:000001e8 $d /tmp/cc5wsx2R.s:5091 .text.USB_HC_StartXfer:000001ec $t /tmp/cc5wsx2R.s:5220 .text.USB_HC_StartXfer:00000294 $d /tmp/cc5wsx2R.s:5228 .text.USB_HC_StartXfer:0000029c $t /tmp/cc5wsx2R.s:5254 .text.USB_StopHost:00000000 $t /tmp/cc5wsx2R.s:5260 .text.USB_StopHost:00000000 USB_StopHost /tmp/cc5wsx2R.s:5424 .text.USB_ActivateRemoteWakeup:00000000 $t /tmp/cc5wsx2R.s:5430 .text.USB_ActivateRemoteWakeup:00000000 USB_ActivateRemoteWakeup ARM GAS /tmp/cc5wsx2R.s page 165 /tmp/cc5wsx2R.s:5465 .text.USB_DeActivateRemoteWakeup:00000000 $t /tmp/cc5wsx2R.s:5471 .text.USB_DeActivateRemoteWakeup:00000000 USB_DeActivateRemoteWakeup UNDEFINED SYMBOLS HAL_Delay