ARM GAS /tmp/ccxeXpRn.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_hal_pcd.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c" 20 .section .text.PCD_WriteEmptyTxFifo,"ax",%progbits 21 .align 1 22 .syntax unified 23 .thumb 24 .thumb_func 26 PCD_WriteEmptyTxFifo: 27 .LVL0: 28 .LFB274: 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ****************************************************************************** 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @file stm32f4xx_hal_pcd.c 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @author MCD Application Team 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief PCD HAL module driver. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * functionalities of the USB Peripheral Controller: 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * + IO operation functions 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * + Peripheral Control functions 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * + Peripheral State functions 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ****************************************************************************** 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @attention 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * Copyright (c) 2016 STMicroelectronics. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * All rights reserved. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * This software is licensed under terms that can be found in the LICENSE file 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * in the root directory of this software component. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ****************************************************************************** 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @verbatim 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ============================================================================== 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ##### How to use this driver ##### 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ============================================================================== 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** [..] 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** The PCD HAL driver can be used as follows: 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 2 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#) Declare a PCD_HandleTypeDef handle structure, for example: 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_HandleTypeDef hpcd; 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#) Fill parameters of Init structure in HCD handle 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#) Call HAL_PCD_Init() API to initialize the PCD peripheral (Core, Device core, ...) 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#) Initialize the PCD low level resources through the HAL_PCD_MspInit() API: 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) Enable the PCD/USB Low Level interface clock using 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (+++) __HAL_RCC_USB_OTG_FS_CLK_ENABLE(); 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (+++) __HAL_RCC_USB_OTG_HS_CLK_ENABLE(); (For High Speed Mode) 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) Initialize the related GPIO clocks 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) Configure PCD pin-out 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) Configure PCD NVIC interrupt 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#)Associate the Upper USB device stack to the HAL PCD Driver: 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) hpcd.pData = pdev; 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#)Enable PCD transmission and reception: 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) HAL_PCD_Start(); 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @endverbatim 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ****************************************************************************** 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Includes ------------------------------------------------------------------*/ 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #include "stm32f4xx_hal.h" 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @addtogroup STM32F4xx_HAL_Driver 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD PCD 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief PCD HAL module driver 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #ifdef HAL_PCD_MODULE_ENABLED 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Private types -------------------------------------------------------------*/ 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Private variables ---------------------------------------------------------*/ 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Private constants ---------------------------------------------------------*/ 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Private macros ------------------------------------------------------------*/ 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Private_Macros PCD Private Macros 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #define PCD_MIN(a, b) (((a) < (b)) ? (a) : (b)) 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #define PCD_MAX(a, b) (((a) > (b)) ? (a) : (b)) 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @} 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Private functions prototypes ----------------------------------------------*/ 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Private_Functions PCD Private Functions ARM GAS /tmp/ccxeXpRn.s page 3 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum); 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_OutXfrComplete_int(PCD_HandleTypeDef *hpcd, uint32_t epnum); 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint32_t epnum); 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @} 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Exported functions --------------------------------------------------------*/ 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions PCD Exported Functions 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group1 Initialization and de-initialization functions 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Initialization and Configuration functions 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @verbatim 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ##### Initialization and de-initialization functions ##### 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** [..] This section provides functions allowing to: 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @endverbatim 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Initializes the PCD according to the specified 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * parameters in the PCD_InitTypeDef and initialize the associated handle. 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd) 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** const USB_OTG_GlobalTypeDef *USBx; 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */ 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint8_t i; 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Check the PCD handle allocation */ 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd == NULL) 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Check the parameters */ 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance)); 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx = hpcd->Instance; 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */ 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_RESET) 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { ARM GAS /tmp/ccxeXpRn.s page 4 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Allocate lock resource and initialize it */ 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->Lock = HAL_UNLOCKED; 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SOFCallback = HAL_PCD_SOFCallback; 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback; 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResetCallback = HAL_PCD_ResetCallback; 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SuspendCallback = HAL_PCD_SuspendCallback; 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResumeCallback = HAL_PCD_ResumeCallback; 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ConnectCallback = HAL_PCD_ConnectCallback; 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback; 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback; 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback; 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback; 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback; 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPMCallback = HAL_PCDEx_LPM_Callback; 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->BCDCallback = HAL_PCDEx_BCD_Callback; 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->MspInitCallback == NULL) 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit; 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Init the low level hardware */ 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback(hpcd); 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */ 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_MspInit(hpcd); 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */ 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_BUSY; 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Disable DMA mode for FS instance */ 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (USBx == USB_OTG_FS) 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->Init.dma_enable = 0U; 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */ 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Disable the Interrupts */ 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /*Init the Core (common init.) */ 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (USB_CoreInit(hpcd->Instance, hpcd->Init) != HAL_OK) 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_ERROR; 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Force Device Mode */ 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (USB_SetCurrentMode(hpcd->Instance, USB_DEVICE_MODE) != HAL_OK) 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_ERROR; 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccxeXpRn.s page 5 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Init endpoints structures */ 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Init ep structure */ 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].is_in = 1U; 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].num = i; 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].tx_fifo_num = i; 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Control until ep is activated */ 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].type = EP_TYPE_CTRL; 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U; 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_buff = 0U; 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_len = 0U; 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].is_in = 0U; 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i; 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Control until ep is activated */ 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].type = EP_TYPE_CTRL; 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].maxpacket = 0U; 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_buff = 0U; 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_len = 0U; 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Init Device */ 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (USB_DevInit(hpcd->Instance, hpcd->Init) != HAL_OK) 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_ERROR; 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->USB_Address = 0U; 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_READY; 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) \ 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) \ 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** || defined(STM32F423xx) 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Activate LPM */ 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->Init.lpm_enable == 1U) 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)HAL_PCDEx_ActivateLPM(hpcd); 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** defined(STM32F423xx) */ 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief DeInitializes the PCD peripheral. 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DeInit(PCD_HandleTypeDef *hpcd) ARM GAS /tmp/ccxeXpRn.s page 6 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Check the PCD handle allocation */ 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd == NULL) 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_BUSY; 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Stop Device */ 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (USB_StopDevice(hpcd->Instance) != HAL_OK) 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->MspDeInitCallback == NULL) 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; /* Legacy weak MspDeInit */ 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* DeInit the low level hardware */ 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback(hpcd); 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* DeInit the low level hardware: CLOCK, NVIC.*/ 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_MspDeInit(hpcd); 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_RESET; 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Initializes the PCD MSP. 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd) 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_MspInit could be implemented in the user file 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief DeInitializes PCD MSP. 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd) 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); ARM GAS /tmp/ccxeXpRn.s page 7 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_MspDeInit could be implemented in the user file 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register a User USB PCD Callback 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak predefined callback 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd USB PCD handle 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param CallbackID ID of the callback to be registered 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * This parameter can be one of the following values: 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SOF_CB_ID USB PCD SOF callback ID 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SETUPSTAGE_CB_ID USB PCD Setup callback ID 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESET_CB_ID USB PCD Reset callback ID 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SUSPEND_CB_ID USB PCD Suspend callback ID 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESUME_CB_ID USB PCD Resume callback ID 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_CONNECT_CB_ID USB PCD Connect callback ID 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_DISCONNECT_CB_ID USB PCD Disconnect callback ID 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPINIT_CB_ID MspDeInit callback ID 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPDEINIT_CB_ID MspDeInit callback ID 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the Callback function 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterCallback(PCD_HandleTypeDef *hpcd, 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_CallbackIDTypeDef CallbackID, 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** pPCD_CallbackTypeDef pCallback) 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** switch (CallbackID) 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SOF_CB_ID : 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SOFCallback = pCallback; 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SETUPSTAGE_CB_ID : 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SetupStageCallback = pCallback; 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_RESET_CB_ID : 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResetCallback = pCallback; 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SUSPEND_CB_ID : ARM GAS /tmp/ccxeXpRn.s page 8 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SuspendCallback = pCallback; 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_RESUME_CB_ID : 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResumeCallback = pCallback; 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_CONNECT_CB_ID : 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ConnectCallback = pCallback; 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_DISCONNECT_CB_ID : 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DisconnectCallback = pCallback; 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback = pCallback; 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback = pCallback; 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** default : 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else if (hpcd->State == HAL_PCD_STATE_RESET) 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** switch (CallbackID) 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback = pCallback; 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback = pCallback; 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** default : 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; ARM GAS /tmp/ccxeXpRn.s page 9 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister an USB PCD Callback 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB PCD callback is redirected to the weak predefined callback 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd USB PCD handle 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param CallbackID ID of the callback to be unregistered 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * This parameter can be one of the following values: 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SOF_CB_ID USB PCD SOF callback ID 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SETUPSTAGE_CB_ID USB PCD Setup callback ID 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESET_CB_ID USB PCD Reset callback ID 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SUSPEND_CB_ID USB PCD Suspend callback ID 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESUME_CB_ID USB PCD Resume callback ID 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_CONNECT_CB_ID USB PCD Connect callback ID 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_DISCONNECT_CB_ID USB PCD Disconnect callback ID 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPINIT_CB_ID MspDeInit callback ID 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPDEINIT_CB_ID MspDeInit callback ID 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterCallback(PCD_HandleTypeDef *hpcd, HAL_PCD_CallbackIDTypeDef Cal 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Setup Legacy weak Callbacks */ 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** switch (CallbackID) 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SOF_CB_ID : 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SOFCallback = HAL_PCD_SOFCallback; 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SETUPSTAGE_CB_ID : 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback; 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_RESET_CB_ID : 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResetCallback = HAL_PCD_ResetCallback; 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SUSPEND_CB_ID : 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SuspendCallback = HAL_PCD_SuspendCallback; 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_RESUME_CB_ID : 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResumeCallback = HAL_PCD_ResumeCallback; 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_CONNECT_CB_ID : ARM GAS /tmp/ccxeXpRn.s page 10 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ConnectCallback = HAL_PCD_ConnectCallback; 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_DISCONNECT_CB_ID : 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback; 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit; 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** default : 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else if (hpcd->State == HAL_PCD_STATE_RESET) 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** switch (CallbackID) 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit; 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** default : 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; ARM GAS /tmp/ccxeXpRn.s page 11 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD Data OUT Stage Callback 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_DataOutStageCallback() predefined callback 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Data OUT Stage Callback function 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd, 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** pPCD_DataOutStageCallbackTypeDef pCallback) 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataOutStageCallback = pCallback; 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD Data OUT Stage Callback 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB PCD Data OUT Stage Callback is redirected to the weak HAL_PCD_DataOutStageCallback( 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd) 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 12 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback; /* Legacy weak DataOutStageCallback 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD Data IN Stage Callback 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_DataInStageCallback() predefined callback 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Data IN Stage Callback function 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterDataInStageCallback(PCD_HandleTypeDef *hpcd, 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** pPCD_DataInStageCallbackTypeDef pCallback) 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataInStageCallback = pCallback; 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); ARM GAS /tmp/ccxeXpRn.s page 13 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD Data IN Stage Callback 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB PCD Data OUT Stage Callback is redirected to the weak HAL_PCD_DataInStageCallback() 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterDataInStageCallback(PCD_HandleTypeDef *hpcd) 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback; /* Legacy weak DataInStageCallback */ 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD Iso OUT incomplete Callback 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_ISOOUTIncompleteCallback() predefined callback 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Iso OUT incomplete Callback function 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd, 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** pPCD_IsoOutIncpltCallbackTypeDef pCallback) 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ ARM GAS /tmp/ccxeXpRn.s page 14 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = pCallback; 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD Iso OUT incomplete Callback 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB PCD Iso OUT incomplete Callback is redirected 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * to the weak HAL_PCD_ISOOUTIncompleteCallback() predefined callback 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd) 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback; /* Legacy weak ISOOUTIncompl 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD Iso IN incomplete Callback 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_ISOINIncompleteCallback() predefined callback ARM GAS /tmp/ccxeXpRn.s page 15 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Iso IN incomplete Callback function 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd, 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** pPCD_IsoInIncpltCallbackTypeDef pCallback) 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = pCallback; 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD Iso IN incomplete Callback 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB PCD Iso IN incomplete Callback is redirected 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * to the weak HAL_PCD_ISOINIncompleteCallback() predefined callback 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd) 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback; /* Legacy weak ISOINIncomplete 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccxeXpRn.s page 16 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD BCD Callback 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCDEx_BCD_Callback() predefined callback 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD BCD Callback function 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterBcdCallback(PCD_HandleTypeDef *hpcd, pPCD_BcdCallbackTypeDef pCal 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->BCDCallback = pCallback; 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** ARM GAS /tmp/ccxeXpRn.s page 17 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD BCD Callback 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB BCD Callback is redirected to the weak HAL_PCDEx_BCD_Callback() predefined callback 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterBcdCallback(PCD_HandleTypeDef *hpcd) 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->BCDCallback = HAL_PCDEx_BCD_Callback; /* Legacy weak HAL_PCDEx_BCD_Callback */ 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD LPM Callback 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCDEx_LPM_Callback() predefined callback 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD LPM Callback function 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterLpmCallback(PCD_HandleTypeDef *hpcd, pPCD_LpmCallbackTypeDef pCal 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPMCallback = pCallback; 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccxeXpRn.s page 18 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD LPM Callback 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB LPM Callback is redirected to the weak HAL_PCDEx_LPM_Callback() predefined callback 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterLpmCallback(PCD_HandleTypeDef *hpcd) 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPMCallback = HAL_PCDEx_LPM_Callback; /* Legacy weak HAL_PCDEx_LPM_Callback */ 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @} 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group2 Input and Output operation functions 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Data transfers functions 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @verbatim 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== ARM GAS /tmp/ccxeXpRn.s page 19 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ##### IO operation functions ##### 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** [..] 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** This subsection provides a set of functions allowing to manage the PCD data 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** transfers. 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @endverbatim 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Start the USB device 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd) 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (((USBx->GUSBCFG & USB_OTG_GUSBCFG_PHYSEL) != 0U) && 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Enable USB Transceiver */ 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN; 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_ENABLE(hpcd); 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance); 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Stop the USB device. 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Stop(PCD_HandleTypeDef *hpcd) 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (((USBx->GUSBCFG & USB_OTG_GUSBCFG_PHYSEL) != 0U) && 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Disable USB Transceiver */ 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 20 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Handles PCD interrupt request. 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd) 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_EPTypeDef *ep; 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t i; 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t ep_intr; 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t epint; 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t epnum; 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t fifoemptymsk; 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t RegVal; 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* ensure that we are in device mode */ 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (USB_GetMode(hpcd->Instance) == USB_OTG_MODE_DEVICE) 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* avoid spurious interrupt */ 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_IS_INVALID_INTERRUPT(hpcd)) 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return; 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* store current frame number */ 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->FrameNumber = (USBx_DEVICE->DSTS & USB_OTG_DSTS_FNSOF_Msk) >> USB_OTG_DSTS_FNSOF_Pos; 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_MMIS)) 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* incorrect mode, acknowledge the interrupt */ 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_MMIS); 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle RxQLevel Interrupt */ 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_RXFLVL)) 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_MASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** RegVal = USBx->GRXSTSP; 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[RegVal & USB_OTG_GRXSTSP_EPNUM]; 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (((RegVal & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_DATA_UPDT) 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((RegVal & USB_OTG_GRXSTSP_BCNT) != 0U) 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ReadPacket(USBx, ep->xfer_buff, 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint16_t)((RegVal & USB_OTG_GRXSTSP_BCNT) >> 4)); 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 21 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_buff += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else if (((RegVal & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_SETUP_UPDT) 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ReadPacket(USBx, (uint8_t *)hpcd->Setup, 8U); 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* ... */ 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_UNMASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OEPINT)) 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epnum = 0U; 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Read in the device interrupt bits */ 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr = USB_ReadDevAllOutEpInterrupt(hpcd->Instance); 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** while (ep_intr != 0U) 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_intr & 0x1U) != 0U) 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epint = USB_ReadDevOutEPInterrupt(hpcd->Instance, (uint8_t)epnum); 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DOEPINT_XFRC) == USB_OTG_DOEPINT_XFRC) 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_XFRC); 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)PCD_EP_OutXfrComplete_int(hpcd, epnum); 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STUP); 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Class B setup phase done for previous decoded setup */ 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)PCD_EP_OutSetupPacket_int(hpcd, epnum); 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DOEPINT_OTEPDIS) == USB_OTG_DOEPINT_OTEPDIS) 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPDIS); 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Clear OUT Endpoint disable interrupt */ 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DOEPINT_EPDISD) == USB_OTG_DOEPINT_EPDISD) 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((USBx->GINTSTS & USB_OTG_GINTSTS_BOUTNAKEFF) == USB_OTG_GINTSTS_BOUTNAKEFF) 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCTL |= USB_OTG_DCTL_CGONAK; 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[epnum]; ARM GAS /tmp/ccxeXpRn.s page 22 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (ep->is_iso_incomplete == 1U) 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_iso_incomplete = 0U; 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback(hpcd, (uint8_t)epnum); 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_ISOOUTIncompleteCallback(hpcd, (uint8_t)epnum); 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_EPDISD); 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Clear Status Phase Received interrupt */ 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Clear OUT NAK interrupt */ 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DOEPINT_NAK) == USB_OTG_DOEPINT_NAK) 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_NAK); 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epnum++; 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr >>= 1U; 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IEPINT)) 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Read in the device interrupt bits */ 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr = USB_ReadDevAllInEpInterrupt(hpcd->Instance); 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epnum = 0U; 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** while (ep_intr != 0U) 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_intr & 0x1U) != 0U) /* In ITR */ 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epint = USB_ReadDevInEPInterrupt(hpcd->Instance, (uint8_t)epnum); 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_XFRC) == USB_OTG_DIEPINT_XFRC) 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK)); 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_XFRC); 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->Init.dma_enable == 1U) 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[epnum].xfer_buff += hpcd->IN_ep[epnum].maxpacket; 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* this is ZLP, so prepare EP0 for next setup */ ARM GAS /tmp/ccxeXpRn.s page 23 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epnum == 0U) && (hpcd->IN_ep[epnum].xfer_len == 0U)) 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* prepare to rx more setup packets */ 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataInStageCallback(hpcd, (uint8_t)epnum); 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_DataInStageCallback(hpcd, (uint8_t)epnum); 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_TOC) == USB_OTG_DIEPINT_TOC) 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_TOC); 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_ITTXFE) == USB_OTG_DIEPINT_ITTXFE) 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_ITTXFE); 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_INEPNE) == USB_OTG_DIEPINT_INEPNE) 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_INEPNE); 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_EPDISD) == USB_OTG_DIEPINT_EPDISD) 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushTxFifo(USBx, epnum); 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[epnum]; 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (ep->is_iso_incomplete == 1U) 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_iso_incomplete = 0U; 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback(hpcd, (uint8_t)epnum); 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_ISOINIncompleteCallback(hpcd, (uint8_t)epnum); 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_EPDISD); 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_TXFE) == USB_OTG_DIEPINT_TXFE) 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)PCD_WriteEmptyTxFifo(hpcd, epnum); 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epnum++; 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr >>= 1U; 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Resume Interrupt */ 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT)) 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { ARM GAS /tmp/ccxeXpRn.s page 24 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Clear the Remote Wake-up Signaling */ 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->LPM_State == LPM_L1) 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPM_State = LPM_L0; 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPMCallback(hpcd, PCD_LPM_L0_ACTIVE); 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L0_ACTIVE); 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResumeCallback(hpcd); 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_ResumeCallback(hpcd); 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT); 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Suspend Interrupt */ 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP)) 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((USBx_DEVICE->DSTS & USB_OTG_DSTS_SUSPSTS) == USB_OTG_DSTS_SUSPSTS) 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SuspendCallback(hpcd); 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_SuspendCallback(hpcd); 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP); 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) \ 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) \ 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** || defined(STM32F423xx) 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle LPM Interrupt */ 1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT)) 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT); 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->LPM_State == LPM_L0) 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPM_State = LPM_L1; 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->BESL = (hpcd->Instance->GLPMCFG & USB_OTG_GLPMCFG_BESL) >> 2U; 1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPMCallback(hpcd, PCD_LPM_L1_ACTIVE); 1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L1_ACTIVE); 1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccxeXpRn.s page 25 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SuspendCallback(hpcd); 1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_SuspendCallback(hpcd); 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** defined(STM32F423xx) */ 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Reset Interrupt */ 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBRST)) 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_INEP(i)->DIEPINT = 0xFB7FU; 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_INEP(i)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DAINTMSK |= 0x10001U; 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->Init.use_dedicated_ep1 != 0U) 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DOUTEP1MSK |= USB_OTG_DOEPMSK_STUPM | 1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_XFRCM | 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_EPDM; 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DINEP1MSK |= USB_OTG_DIEPMSK_TOM | 1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_XFRCM | 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_EPDM; 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DOEPMSK |= USB_OTG_DOEPMSK_STUPM | 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_XFRCM | 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_EPDM | 1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_OTEPSPRM | 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_NAKM; 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DIEPMSK |= USB_OTG_DIEPMSK_TOM | 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_XFRCM | 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_EPDM; 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Set Default Address to 0 */ 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCFG &= ~USB_OTG_DCFG_DAD; 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* setup EP0 to receive SETUP packets */ 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, 1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint8_t *)hpcd->Setup); ARM GAS /tmp/ccxeXpRn.s page 26 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBRST); 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Enumeration done Interrupt */ 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE)) 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateSetup(hpcd->Instance); 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->Init.speed = USB_GetDevSpeed(hpcd->Instance); 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Set USB Turnaround time */ 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_SetTurnaroundTime(hpcd->Instance, 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_RCC_GetHCLKFreq(), 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint8_t)hpcd->Init.speed); 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResetCallback(hpcd); 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_ResetCallback(hpcd); 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE); 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle SOF Interrupt */ 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SOF)) 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SOFCallback(hpcd); 1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_SOFCallback(hpcd); 1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SOF); 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Global OUT NAK effective Interrupt */ 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_BOUTNAKEFF)) 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx->GINTMSK &= ~USB_OTG_GINTMSK_GONAKEFFM; 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** for (epnum = 1U; epnum < hpcd->Init.dev_endpoints; epnum++) 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->OUT_ep[epnum].is_iso_incomplete == 1U) 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Abort current transaction and disable the EP */ 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)HAL_PCD_EP_Abort(hpcd, (uint8_t)epnum); 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Incomplete ISO IN Interrupt */ 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR)) 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** for (epnum = 1U; epnum < hpcd->Init.dev_endpoints; epnum++) 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** RegVal = USBx_INEP(epnum)->DIEPCTL; ARM GAS /tmp/ccxeXpRn.s page 27 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((hpcd->IN_ep[epnum].type == EP_TYPE_ISOC) && 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((RegVal & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA)) 1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[epnum].is_iso_incomplete = 1U; 1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Abort current transaction and disable the EP */ 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)HAL_PCD_EP_Abort(hpcd, (uint8_t)(epnum | 0x80U)); 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR); 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Incomplete ISO OUT Interrupt */ 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT)) 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** for (epnum = 1U; epnum < hpcd->Init.dev_endpoints; epnum++) 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** RegVal = USBx_OUTEP(epnum)->DOEPCTL; 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((hpcd->OUT_ep[epnum].type == EP_TYPE_ISOC) && 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((RegVal & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) && 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (((RegVal & (0x1U << 16)) >> 16U) == (hpcd->FrameNumber & 0x1U))) 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[epnum].is_iso_incomplete = 1U; 1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_GONAKEFFM; 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((USBx->GINTSTS & USB_OTG_GINTSTS_BOUTNAKEFF) == 0U) 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCTL |= USB_OTG_DCTL_SGONAK; 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT); 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Connection event Interrupt */ 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT)) 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ConnectCallback(hpcd); 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_ConnectCallback(hpcd); 1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT); 1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Disconnection event Interrupt */ 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OTGINT)) 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** RegVal = hpcd->Instance->GOTGINT; 1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 28 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((RegVal & USB_OTG_GOTGINT_SEDET) == USB_OTG_GOTGINT_SEDET) 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DisconnectCallback(hpcd); 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_DisconnectCallback(hpcd); 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->Instance->GOTGINT |= RegVal; 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Handles PCD Wakeup interrupt request. 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** void HAL_PCD_WKUP_IRQHandler(PCD_HandleTypeDef *hpcd) 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx; 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx = hpcd->Instance; 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (USBx == USB_OTG_FS) 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Clear EXTI pending Bit */ 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_USB_OTG_FS_WAKEUP_EXTI_CLEAR_FLAG(); 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */ 1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Clear EXTI pending Bit */ 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_USB_OTG_HS_WAKEUP_EXTI_CLEAR_FLAG(); 1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Data OUT stage callback. 1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param epnum endpoint number 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_DataOutStageCallback could be implemented in the user file 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 29 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Data IN stage callback 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param epnum endpoint number 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_DataInStageCallback could be implemented in the user file 1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Setup stage callback 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_SetupStageCallback could be implemented in the user file 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief USB Start Of Frame callback. 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd) 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_SOFCallback could be implemented in the user file 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief USB Reset callback. 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd) 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, ARM GAS /tmp/ccxeXpRn.s page 30 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_ResetCallback could be implemented in the user file 1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Suspend event callback. 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_SuspendCallback could be implemented in the user file 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Resume event callback. 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_ResumeCallback could be implemented in the user file 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Incomplete ISO OUT callback. 1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param epnum endpoint number 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_ISOOUTIncompleteCallback could be implemented in the user file 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Incomplete ISO IN callback. 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param epnum endpoint number 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ ARM GAS /tmp/ccxeXpRn.s page 31 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_ISOINIncompleteCallback could be implemented in the user file 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Connection event callback. 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd) 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_ConnectCallback could be implemented in the user file 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Disconnection event callback. 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd) 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_DisconnectCallback could be implemented in the user file 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @} 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group3 Peripheral Control functions 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief management functions 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @verbatim 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ##### Peripheral Control functions ##### 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** [..] 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** This subsection provides a set of functions allowing to control the PCD data 1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** transfers. 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @endverbatim ARM GAS /tmp/ccxeXpRn.s page 32 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Connect the USB device 1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DevConnect(PCD_HandleTypeDef *hpcd) 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (((USBx->GUSBCFG & USB_OTG_GUSBCFG_PHYSEL) != 0U) && 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Enable USB Transceiver */ 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN; 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance); 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Disconnect the USB device. 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DevDisconnect(PCD_HandleTypeDef *hpcd) 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (((USBx->GUSBCFG & USB_OTG_GUSBCFG_PHYSEL) != 0U) && 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Disable USB Transceiver */ 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Set the USB Device address. 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param address new device address 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address) ARM GAS /tmp/ccxeXpRn.s page 33 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->USB_Address = address; 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_SetDevAddress(hpcd->Instance, address); 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Open and configure an endpoint. 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_mps endpoint max packet size 1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_type endpoint type 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint16_t ep_mps, uint8_t ep_type) 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef ret = HAL_OK; 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_addr & 0x80U) == 0x80U) 1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->maxpacket = (uint32_t)ep_mps & 0x7FFU; 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->type = ep_type; 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (ep->is_in != 0U) 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Assign a Tx FIFO */ 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->tx_fifo_num = ep->num; 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Set initial data PID. */ 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (ep_type == EP_TYPE_BULK) 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->data_pid_start = 0U; 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return ret; 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** ARM GAS /tmp/ccxeXpRn.s page 34 1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Deactivate an endpoint. 1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_addr & 0x80U) == 0x80U) 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Receive an amount of data. 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pBuf pointer to the reception buffer 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param len amount of data to be received 1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint3 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /*setup and start the Xfer */ 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_buff = pBuf; 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_len = len; 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count = 0U; 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->Init.dma_enable == 1U) 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->dma_addr = (uint32_t)pBuf; 1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; ARM GAS /tmp/ccxeXpRn.s page 35 1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Get Received Data Size 1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval Data Size 1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef const *hpcd, uint8_t ep_addr) 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count; 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Send an amount of data 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pBuf pointer to the transmission buffer 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param len amount of data to be sent 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /*setup and start the Xfer */ 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_buff = pBuf; 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_len = len; 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count = 0U; 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->Init.dma_enable == 1U) 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->dma_addr = (uint32_t)pBuf; 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Set a STALL condition over an endpoint 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (((uint32_t)ep_addr & EP_ADDR_MSK) > hpcd->Init.dev_endpoints) 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccxeXpRn.s page 36 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((0x80U & ep_addr) == 0x80U) 1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr]; 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_stall = 1U; 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPSetStall(hpcd->Instance, ep); 1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U) 1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, (uint8_t *)hpcd->Setup); 1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Clear a STALL condition over in an endpoint 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (((uint32_t)ep_addr & 0x0FU) > hpcd->Init.dev_endpoints) 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((0x80U & ep_addr) == 0x80U) 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_stall = 0U; 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; ARM GAS /tmp/ccxeXpRn.s page 37 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep); 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Abort an USB EP transaction. 2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Abort(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef ret; 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((0x80U & ep_addr) == 0x80U) 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Stop Xfer */ 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ret = USB_EPStopXfer(hpcd->Instance, ep); 2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return ret; 2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Flush an endpoint 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Flush(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_addr & 0x80U) == 0x80U) 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushTxFifo(hpcd->Instance, (uint32_t)ep_addr & EP_ADDR_MSK); 2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushRxFifo(hpcd->Instance); 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccxeXpRn.s page 38 2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Activate remote wakeup signalling 2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_ActivateRemoteWakeup(PCD_HandleTypeDef *hpcd) 2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return (USB_ActivateRemoteWakeup(hpcd->Instance)); 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief De-activate remote wakeup signalling. 2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 2098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DeActivateRemoteWakeup(PCD_HandleTypeDef *hpcd) 2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return (USB_DeActivateRemoteWakeup(hpcd->Instance)); 2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @} 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group4 Peripheral State functions 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Peripheral State functions 2110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @verbatim 2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 2113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ##### Peripheral State functions ##### 2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 2115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** [..] 2116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** This subsection permits to get in run-time the status of the peripheral 2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** and the data flow. 2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @endverbatim 2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Return the PCD handle state. 2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL state 2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_StateTypeDef HAL_PCD_GetState(PCD_HandleTypeDef const *hpcd) 2129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return hpcd->State; 2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Set the USB Device high speed test mode. 2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param testmode USB Device high speed test mode 2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 2139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ ARM GAS /tmp/ccxeXpRn.s page 39 2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_SetTestMode(const PCD_HandleTypeDef *hpcd, uint8_t testmode) 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** const USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** switch (testmode) 2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case TEST_J: 2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case TEST_K: 2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case TEST_SE0_NAK: 2150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case TEST_PACKET: 2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case TEST_FORCE_EN: 2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCTL &= ~(0x7U << 4); 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCTL |= (uint32_t)testmode << 4; 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** default: 2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @} 2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @} 2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Private functions ---------------------------------------------------------*/ 2172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @addtogroup PCD_Private_Functions 2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Check FIFO for the next packet to be loaded. 2178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param epnum endpoint number 2180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum) 2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 29 .loc 1 2183 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 0 32 @ frame_needed = 0, uses_anonymous_args = 0 33 .loc 1 2183 1 is_stmt 0 view .LVU1 34 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 35 .LCFI0: 36 .cfi_def_cfa_offset 28 37 .cfi_offset 4, -28 38 .cfi_offset 5, -24 39 .cfi_offset 6, -20 40 .cfi_offset 7, -16 41 .cfi_offset 8, -12 ARM GAS /tmp/ccxeXpRn.s page 40 42 .cfi_offset 9, -8 43 .cfi_offset 14, -4 44 0004 83B0 sub sp, sp, #12 45 .LCFI1: 46 .cfi_def_cfa_offset 40 2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 47 .loc 1 2184 3 is_stmt 1 view .LVU2 48 .loc 1 2184 26 is_stmt 0 view .LVU3 49 0006 D0F80080 ldr r8, [r0] 50 .LVL1: 2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t USBx_BASE = (uint32_t)USBx; 51 .loc 1 2185 3 is_stmt 1 view .LVU4 2186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_EPTypeDef *ep; 52 .loc 1 2186 3 view .LVU5 2187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t len; 53 .loc 1 2187 3 view .LVU6 2188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t len32b; 54 .loc 1 2188 3 view .LVU7 2189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t fifoemptymsk; 55 .loc 1 2189 3 view .LVU8 2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[epnum]; 56 .loc 1 2191 3 view .LVU9 2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (ep->xfer_count > ep->xfer_len) 57 .loc 1 2193 3 view .LVU10 58 .loc 1 2193 9 is_stmt 0 view .LVU11 59 000a 01EBC103 add r3, r1, r1, lsl #3 60 000e 00EB8303 add r3, r0, r3, lsl #2 61 0012 9A6A ldr r2, [r3, #40] 62 .loc 1 2193 26 view .LVU12 63 0014 5B6A ldr r3, [r3, #36] 64 .loc 1 2193 6 view .LVU13 65 0016 9A42 cmp r2, r3 66 0018 54D8 bhi .L8 67 001a 0746 mov r7, r0 68 001c 0C46 mov r4, r1 2194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** len = ep->xfer_len - ep->xfer_count; 69 .loc 1 2198 3 is_stmt 1 view .LVU14 70 .loc 1 2198 7 is_stmt 0 view .LVU15 71 001e 9B1A subs r3, r3, r2 72 .LVL2: 2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (len > ep->maxpacket) 73 .loc 1 2200 3 is_stmt 1 view .LVU16 74 .loc 1 2200 15 is_stmt 0 view .LVU17 75 0020 01EBC102 add r2, r1, r1, lsl #3 76 0024 00EB8202 add r2, r0, r2, lsl #2 77 0028 D269 ldr r2, [r2, #28] 78 .loc 1 2200 6 view .LVU18 79 002a 9A42 cmp r2, r3 80 002c 00D3 bcc .L3 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 41 81 .loc 1 2198 7 view .LVU19 82 002e 1A46 mov r2, r3 83 .L3: 84 .LVL3: 2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** len = ep->maxpacket; 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** len32b = (len + 3U) / 4U; 85 .loc 1 2205 3 is_stmt 1 view .LVU20 86 .loc 1 2205 17 is_stmt 0 view .LVU21 87 0030 02F10309 add r9, r2, #3 88 .loc 1 2205 10 view .LVU22 89 0034 4FEA9909 lsr r9, r9, #2 90 .LVL4: 2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 91 .loc 1 2207 3 is_stmt 1 view .LVU23 92 .loc 1 2207 9 is_stmt 0 view .LVU24 93 0038 15E0 b .L4 94 .LVL5: 95 .L5: 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Write the FIFO */ 2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** len = ep->xfer_len - ep->xfer_count; 2212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (len > ep->maxpacket) 2214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** len = ep->maxpacket; 2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** len32b = (len + 3U) / 4U; 96 .loc 1 2217 5 is_stmt 1 view .LVU25 97 .loc 1 2217 19 is_stmt 0 view .LVU26 98 003a 06F10309 add r9, r6, #3 99 .LVL6: 100 .loc 1 2217 12 view .LVU27 101 003e 4FEA9909 lsr r9, r9, #2 102 .LVL7: 2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_WritePacket(USBx, ep->xfer_buff, (uint8_t)epnum, (uint16_t)len, 103 .loc 1 2219 5 is_stmt 1 view .LVU28 2220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint8_t)hpcd->Init.dma_enable); 104 .loc 1 2220 46 is_stmt 0 view .LVU29 105 0042 BB79 ldrb r3, [r7, #6] @ zero_extendqisi2 2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint8_t)hpcd->Init.dma_enable); 106 .loc 1 2219 11 view .LVU30 107 0044 04EBC405 add r5, r4, r4, lsl #3 108 0048 07EB8505 add r5, r7, r5, lsl #2 109 004c 296A ldr r1, [r5, #32] 110 004e 0093 str r3, [sp] 111 0050 B3B2 uxth r3, r6 112 0052 E2B2 uxtb r2, r4 113 0054 4046 mov r0, r8 114 0056 FFF7FEFF bl USB_WritePacket 115 .LVL8: 2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 42 2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_buff += len; 116 .loc 1 2222 5 is_stmt 1 view .LVU31 117 .loc 1 2222 7 is_stmt 0 view .LVU32 118 005a 2B6A ldr r3, [r5, #32] 119 .loc 1 2222 20 view .LVU33 120 005c 3344 add r3, r3, r6 121 005e 2B62 str r3, [r5, #32] 2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count += len; 122 .loc 1 2223 5 is_stmt 1 view .LVU34 123 .loc 1 2223 7 is_stmt 0 view .LVU35 124 0060 AB6A ldr r3, [r5, #40] 125 .loc 1 2223 20 view .LVU36 126 0062 3344 add r3, r3, r6 127 0064 AB62 str r3, [r5, #40] 128 .LVL9: 129 .L4: 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 130 .loc 1 2208 42 is_stmt 1 view .LVU37 2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 131 .loc 1 2207 12 is_stmt 0 view .LVU38 132 0066 08EB4413 add r3, r8, r4, lsl #5 133 006a 03F51063 add r3, r3, #2304 2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 134 .loc 1 2207 28 view .LVU39 135 006e 9B69 ldr r3, [r3, #24] 2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 136 .loc 1 2207 38 view .LVU40 137 0070 9BB2 uxth r3, r3 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 138 .loc 1 2208 42 view .LVU41 139 0072 4B45 cmp r3, r9 140 0074 12D3 bcc .L6 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 141 .loc 1 2208 13 discriminator 1 view .LVU42 142 0076 04EBC403 add r3, r4, r4, lsl #3 143 007a 07EB8303 add r3, r7, r3, lsl #2 144 007e 9A6A ldr r2, [r3, #40] 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 145 .loc 1 2208 30 discriminator 1 view .LVU43 146 0080 5B6A ldr r3, [r3, #36] 2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 147 .loc 1 2207 78 view .LVU44 148 0082 9A42 cmp r2, r3 149 0084 0AD2 bcs .L6 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 150 .loc 1 2208 42 view .LVU45 151 0086 4BB1 cbz r3, .L6 2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 152 .loc 1 2211 5 is_stmt 1 view .LVU46 2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 153 .loc 1 2211 9 is_stmt 0 view .LVU47 154 0088 9B1A subs r3, r3, r2 155 .LVL10: 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 156 .loc 1 2213 5 is_stmt 1 view .LVU48 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 157 .loc 1 2213 17 is_stmt 0 view .LVU49 ARM GAS /tmp/ccxeXpRn.s page 43 158 008a 04EBC402 add r2, r4, r4, lsl #3 159 008e 07EB8202 add r2, r7, r2, lsl #2 160 0092 D669 ldr r6, [r2, #28] 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 161 .loc 1 2213 8 view .LVU50 162 0094 9E42 cmp r6, r3 163 0096 D0D3 bcc .L5 2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 164 .loc 1 2211 9 view .LVU51 165 0098 1E46 mov r6, r3 166 009a CEE7 b .L5 167 .LVL11: 168 .L6: 2224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (ep->xfer_len <= ep->xfer_count) 169 .loc 1 2226 3 is_stmt 1 view .LVU52 170 .loc 1 2226 9 is_stmt 0 view .LVU53 171 009c 04EBC403 add r3, r4, r4, lsl #3 172 00a0 07EB8307 add r7, r7, r3, lsl #2 173 .LVL12: 174 .loc 1 2226 9 view .LVU54 175 00a4 7A6A ldr r2, [r7, #36] 176 .loc 1 2226 25 view .LVU55 177 00a6 BB6A ldr r3, [r7, #40] 178 .loc 1 2226 6 view .LVU56 179 00a8 9A42 cmp r2, r3 180 00aa 0FD8 bhi .L9 2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK)); 181 .loc 1 2228 5 is_stmt 1 view .LVU57 182 .loc 1 2228 47 is_stmt 0 view .LVU58 183 00ac 04F00F04 and r4, r4, #15 184 .LVL13: 185 .loc 1 2228 18 view .LVU59 186 00b0 0122 movs r2, #1 187 00b2 A240 lsls r2, r2, r4 188 .LVL14: 2229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 189 .loc 1 2229 5 is_stmt 1 view .LVU60 190 .loc 1 2229 16 is_stmt 0 view .LVU61 191 00b4 D8F83438 ldr r3, [r8, #2100] 192 .loc 1 2229 29 view .LVU62 193 00b8 23EA0203 bic r3, r3, r2 194 00bc C8F83438 str r3, [r8, #2100] 2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 195 .loc 1 2232 10 view .LVU63 196 00c0 0020 movs r0, #0 197 00c2 00E0 b .L2 198 .LVL15: 199 .L8: 2195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 200 .loc 1 2195 12 view .LVU64 201 00c4 0120 movs r0, #1 202 .LVL16: ARM GAS /tmp/ccxeXpRn.s page 44 203 .L2: 2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 204 .loc 1 2233 1 view .LVU65 205 00c6 03B0 add sp, sp, #12 206 .LCFI2: 207 .cfi_remember_state 208 .cfi_def_cfa_offset 28 209 @ sp needed 210 00c8 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 211 .LVL17: 212 .L9: 213 .LCFI3: 214 .cfi_restore_state 2232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 215 .loc 1 2232 10 view .LVU66 216 00cc 0020 movs r0, #0 217 00ce FAE7 b .L2 218 .cfi_endproc 219 .LFE274: 221 .section .text.HAL_PCD_MspInit,"ax",%progbits 222 .align 1 223 .weak HAL_PCD_MspInit 224 .syntax unified 225 .thumb 226 .thumb_func 228 HAL_PCD_MspInit: 229 .LVL18: 230 .LFB241: 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 231 .loc 1 298 1 is_stmt 1 view -0 232 .cfi_startproc 233 @ args = 0, pretend = 0, frame = 0 234 @ frame_needed = 0, uses_anonymous_args = 0 235 @ link register save eliminated. 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 236 .loc 1 300 3 view .LVU68 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 237 .loc 1 305 1 is_stmt 0 view .LVU69 238 0000 7047 bx lr 239 .cfi_endproc 240 .LFE241: 242 .section .text.HAL_PCD_Init,"ax",%progbits 243 .align 1 244 .global HAL_PCD_Init 245 .syntax unified 246 .thumb 247 .thumb_func 249 HAL_PCD_Init: 250 .LVL19: 251 .LFB239: 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) 252 .loc 1 124 1 is_stmt 1 view -0 253 .cfi_startproc 254 @ args = 0, pretend = 0, frame = 0 255 @ frame_needed = 0, uses_anonymous_args = 0 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) 256 .loc 1 124 1 is_stmt 0 view .LVU71 ARM GAS /tmp/ccxeXpRn.s page 45 257 0000 30B5 push {r4, r5, lr} 258 .LCFI4: 259 .cfi_def_cfa_offset 12 260 .cfi_offset 4, -12 261 .cfi_offset 5, -8 262 .cfi_offset 14, -4 263 0002 83B0 sub sp, sp, #12 264 .LCFI5: 265 .cfi_def_cfa_offset 24 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */ 266 .loc 1 126 3 is_stmt 1 view .LVU72 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 267 .loc 1 128 3 view .LVU73 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 268 .loc 1 131 3 view .LVU74 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 269 .loc 1 131 6 is_stmt 0 view .LVU75 270 0004 0028 cmp r0, #0 271 0006 7AD0 beq .L22 272 0008 0446 mov r4, r0 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 273 .loc 1 137 3 is_stmt 1 view .LVU76 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */ 274 .loc 1 140 3 view .LVU77 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */ 275 .loc 1 140 8 is_stmt 0 view .LVU78 276 000a 0568 ldr r5, [r0] 277 .LVL20: 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 278 .loc 1 143 3 is_stmt 1 view .LVU79 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 279 .loc 1 143 11 is_stmt 0 view .LVU80 280 000c 90F89534 ldrb r3, [r0, #1173] @ zero_extendqisi2 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 281 .loc 1 143 6 view .LVU81 282 0010 C3B1 cbz r3, .L25 283 .LVL21: 284 .L14: 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 285 .loc 1 176 3 is_stmt 1 view .LVU82 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 286 .loc 1 176 15 is_stmt 0 view .LVU83 287 0012 0323 movs r3, #3 288 0014 84F89534 strb r3, [r4, #1173] 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 289 .loc 1 180 3 is_stmt 1 view .LVU84 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 290 .loc 1 180 6 is_stmt 0 view .LVU85 291 0018 B5F1A04F cmp r5, #1342177280 292 001c 17D0 beq .L26 293 .L15: 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 294 .loc 1 187 3 is_stmt 1 view .LVU86 295 001e 2068 ldr r0, [r4] 296 0020 FFF7FEFF bl USB_DisableGlobalInt 297 .LVL22: 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { ARM GAS /tmp/ccxeXpRn.s page 46 298 .loc 1 190 3 view .LVU87 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 299 .loc 1 190 7 is_stmt 0 view .LVU88 300 0024 237C ldrb r3, [r4, #16] @ zero_extendqisi2 301 0026 8DF80030 strb r3, [sp] 302 002a 231D adds r3, r4, #4 303 002c 0ECB ldm r3, {r1, r2, r3} 304 002e 2068 ldr r0, [r4] 305 0030 FFF7FEFF bl USB_CoreInit 306 .LVL23: 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 307 .loc 1 190 6 discriminator 1 view .LVU89 308 0034 70B1 cbz r0, .L16 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 309 .loc 1 192 5 is_stmt 1 view .LVU90 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 310 .loc 1 192 17 is_stmt 0 view .LVU91 311 0036 0223 movs r3, #2 312 0038 84F89534 strb r3, [r4, #1173] 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 313 .loc 1 193 5 is_stmt 1 view .LVU92 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 314 .loc 1 193 12 is_stmt 0 view .LVU93 315 003c 0125 movs r5, #1 316 .LVL24: 317 .L13: 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 318 .loc 1 251 1 view .LVU94 319 003e 2846 mov r0, r5 320 0040 03B0 add sp, sp, #12 321 .LCFI6: 322 .cfi_remember_state 323 .cfi_def_cfa_offset 12 324 @ sp needed 325 0042 30BD pop {r4, r5, pc} 326 .LVL25: 327 .L25: 328 .LCFI7: 329 .cfi_restore_state 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 330 .loc 1 146 5 is_stmt 1 view .LVU95 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 331 .loc 1 146 16 is_stmt 0 view .LVU96 332 0044 80F89434 strb r3, [r0, #1172] 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */ 333 .loc 1 172 5 is_stmt 1 view .LVU97 334 0048 FFF7FEFF bl HAL_PCD_MspInit 335 .LVL26: 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */ 336 .loc 1 172 5 is_stmt 0 view .LVU98 337 004c E1E7 b .L14 338 .L26: 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 339 .loc 1 182 5 is_stmt 1 view .LVU99 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 340 .loc 1 182 27 is_stmt 0 view .LVU100 341 004e 0023 movs r3, #0 ARM GAS /tmp/ccxeXpRn.s page 47 342 0050 A371 strb r3, [r4, #6] 343 0052 E4E7 b .L15 344 .L16: 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 345 .loc 1 197 3 is_stmt 1 view .LVU101 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 346 .loc 1 197 7 is_stmt 0 view .LVU102 347 0054 0021 movs r1, #0 348 0056 2068 ldr r0, [r4] 349 0058 FFF7FEFF bl USB_SetCurrentMode 350 .LVL27: 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 351 .loc 1 197 6 discriminator 1 view .LVU103 352 005c 0246 mov r2, r0 353 005e 08B9 cbnz r0, .L27 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 354 .loc 1 204 10 view .LVU104 355 0060 0346 mov r3, r0 356 0062 17E0 b .L17 357 .L27: 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 358 .loc 1 199 5 is_stmt 1 view .LVU105 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 359 .loc 1 199 17 is_stmt 0 view .LVU106 360 0064 0223 movs r3, #2 361 0066 84F89534 strb r3, [r4, #1173] 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 362 .loc 1 200 5 is_stmt 1 view .LVU107 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 363 .loc 1 200 12 is_stmt 0 view .LVU108 364 006a 0125 movs r5, #1 365 .LVL28: 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 366 .loc 1 200 12 view .LVU109 367 006c E7E7 b .L13 368 .LVL29: 369 .L18: 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].num = i; 370 .loc 1 207 5 is_stmt 1 view .LVU110 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].num = i; 371 .loc 1 207 26 is_stmt 0 view .LVU111 372 006e 03EBC301 add r1, r3, r3, lsl #3 373 0072 04EB8101 add r1, r4, r1, lsl #2 374 0076 0120 movs r0, #1 375 0078 4875 strb r0, [r1, #21] 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].tx_fifo_num = i; 376 .loc 1 208 5 is_stmt 1 view .LVU112 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].tx_fifo_num = i; 377 .loc 1 208 24 is_stmt 0 view .LVU113 378 007a 0B75 strb r3, [r1, #20] 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Control until ep is activated */ 379 .loc 1 209 5 is_stmt 1 view .LVU114 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Control until ep is activated */ 380 .loc 1 209 32 is_stmt 0 view .LVU115 381 007c CB85 strh r3, [r1, #46] @ movhi 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U; 382 .loc 1 211 5 is_stmt 1 view .LVU116 ARM GAS /tmp/ccxeXpRn.s page 48 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U; 383 .loc 1 211 25 is_stmt 0 view .LVU117 384 007e 0020 movs r0, #0 385 0080 0876 strb r0, [r1, #24] 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_buff = 0U; 386 .loc 1 212 5 is_stmt 1 view .LVU118 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_buff = 0U; 387 .loc 1 212 30 is_stmt 0 view .LVU119 388 0082 C861 str r0, [r1, #28] 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_len = 0U; 389 .loc 1 213 5 is_stmt 1 view .LVU120 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_len = 0U; 390 .loc 1 213 30 is_stmt 0 view .LVU121 391 0084 0862 str r0, [r1, #32] 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 392 .loc 1 214 5 is_stmt 1 view .LVU122 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 393 .loc 1 214 29 is_stmt 0 view .LVU123 394 0086 03EBC301 add r1, r3, r3, lsl #3 395 008a 04EB8101 add r1, r4, r1, lsl #2 396 008e 4862 str r0, [r1, #36] 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 397 .loc 1 204 47 is_stmt 1 discriminator 3 view .LVU124 398 0090 0133 adds r3, r3, #1 399 .LVL30: 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 400 .loc 1 204 47 is_stmt 0 discriminator 3 view .LVU125 401 0092 DBB2 uxtb r3, r3 402 .LVL31: 403 .L17: 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 404 .loc 1 204 18 is_stmt 1 discriminator 1 view .LVU126 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 405 .loc 1 204 30 is_stmt 0 discriminator 1 view .LVU127 406 0094 2079 ldrb r0, [r4, #4] @ zero_extendqisi2 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 407 .loc 1 204 18 discriminator 1 view .LVU128 408 0096 9842 cmp r0, r3 409 0098 E9D8 bhi .L18 410 009a 16E0 b .L19 411 .LVL32: 412 .L20: 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i; 413 .loc 1 219 5 is_stmt 1 view .LVU129 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i; 414 .loc 1 219 27 is_stmt 0 view .LVU130 415 009c 02EBC203 add r3, r2, r2, lsl #3 416 00a0 04EB8303 add r3, r4, r3, lsl #2 417 00a4 0021 movs r1, #0 418 00a6 83F85512 strb r1, [r3, #597] 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Control until ep is activated */ 419 .loc 1 220 5 is_stmt 1 view .LVU131 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Control until ep is activated */ 420 .loc 1 220 25 is_stmt 0 view .LVU132 421 00aa 83F85422 strb r2, [r3, #596] 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].maxpacket = 0U; 422 .loc 1 222 5 is_stmt 1 view .LVU133 ARM GAS /tmp/ccxeXpRn.s page 49 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].maxpacket = 0U; 423 .loc 1 222 26 is_stmt 0 view .LVU134 424 00ae 83F85812 strb r1, [r3, #600] 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_buff = 0U; 425 .loc 1 223 5 is_stmt 1 view .LVU135 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_buff = 0U; 426 .loc 1 223 31 is_stmt 0 view .LVU136 427 00b2 C3F85C12 str r1, [r3, #604] 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_len = 0U; 428 .loc 1 224 5 is_stmt 1 view .LVU137 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_len = 0U; 429 .loc 1 224 31 is_stmt 0 view .LVU138 430 00b6 C3F86012 str r1, [r3, #608] 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 431 .loc 1 225 5 is_stmt 1 view .LVU139 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 432 .loc 1 225 30 is_stmt 0 view .LVU140 433 00ba 02EBC203 add r3, r2, r2, lsl #3 434 00be 04EB8303 add r3, r4, r3, lsl #2 435 00c2 C3F86412 str r1, [r3, #612] 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 436 .loc 1 217 47 is_stmt 1 discriminator 3 view .LVU141 437 00c6 0132 adds r2, r2, #1 438 .LVL33: 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 439 .loc 1 217 47 is_stmt 0 discriminator 3 view .LVU142 440 00c8 D2B2 uxtb r2, r2 441 .LVL34: 442 .L19: 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 443 .loc 1 217 18 is_stmt 1 discriminator 1 view .LVU143 444 00ca 9042 cmp r0, r2 445 00cc E6D8 bhi .L20 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 446 .loc 1 229 3 view .LVU144 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 447 .loc 1 229 7 is_stmt 0 view .LVU145 448 00ce 237C ldrb r3, [r4, #16] @ zero_extendqisi2 449 00d0 8DF80030 strb r3, [sp] 450 00d4 231D adds r3, r4, #4 451 00d6 0ECB ldm r3, {r1, r2, r3} 452 .LVL35: 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 453 .loc 1 229 7 view .LVU146 454 00d8 2068 ldr r0, [r4] 455 00da FFF7FEFF bl USB_DevInit 456 .LVL36: 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 457 .loc 1 229 6 discriminator 1 view .LVU147 458 00de 0546 mov r5, r0 459 .LVL37: 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 460 .loc 1 229 6 discriminator 1 view .LVU148 461 00e0 20B1 cbz r0, .L21 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 462 .loc 1 231 5 is_stmt 1 view .LVU149 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; ARM GAS /tmp/ccxeXpRn.s page 50 463 .loc 1 231 17 is_stmt 0 view .LVU150 464 00e2 0223 movs r3, #2 465 00e4 84F89534 strb r3, [r4, #1173] 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 466 .loc 1 232 5 is_stmt 1 view .LVU151 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 467 .loc 1 232 12 is_stmt 0 view .LVU152 468 00e8 0125 movs r5, #1 469 00ea A8E7 b .L13 470 .L21: 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_READY; 471 .loc 1 235 3 is_stmt 1 view .LVU153 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_READY; 472 .loc 1 235 21 is_stmt 0 view .LVU154 473 00ec 0023 movs r3, #0 474 00ee 6374 strb r3, [r4, #17] 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) \ 475 .loc 1 236 3 is_stmt 1 view .LVU155 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) \ 476 .loc 1 236 15 is_stmt 0 view .LVU156 477 00f0 0123 movs r3, #1 478 00f2 84F89534 strb r3, [r4, #1173] 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 479 .loc 1 248 3 is_stmt 1 view .LVU157 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 480 .loc 1 248 9 is_stmt 0 view .LVU158 481 00f6 2068 ldr r0, [r4] 482 00f8 FFF7FEFF bl USB_DevDisconnect 483 .LVL38: 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 484 .loc 1 250 3 is_stmt 1 view .LVU159 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 485 .loc 1 250 10 is_stmt 0 view .LVU160 486 00fc 9FE7 b .L13 487 .LVL39: 488 .L22: 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 489 .loc 1 133 12 view .LVU161 490 00fe 0125 movs r5, #1 491 0100 9DE7 b .L13 492 .cfi_endproc 493 .LFE239: 495 .section .text.HAL_PCD_MspDeInit,"ax",%progbits 496 .align 1 497 .weak HAL_PCD_MspDeInit 498 .syntax unified 499 .thumb 500 .thumb_func 502 HAL_PCD_MspDeInit: 503 .LVL40: 504 .LFB242: 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 505 .loc 1 313 1 is_stmt 1 view -0 506 .cfi_startproc 507 @ args = 0, pretend = 0, frame = 0 508 @ frame_needed = 0, uses_anonymous_args = 0 509 @ link register save eliminated. ARM GAS /tmp/ccxeXpRn.s page 51 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 510 .loc 1 315 3 view .LVU163 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 511 .loc 1 320 1 is_stmt 0 view .LVU164 512 0000 7047 bx lr 513 .cfi_endproc 514 .LFE242: 516 .section .text.HAL_PCD_DeInit,"ax",%progbits 517 .align 1 518 .global HAL_PCD_DeInit 519 .syntax unified 520 .thumb 521 .thumb_func 523 HAL_PCD_DeInit: 524 .LVL41: 525 .LFB240: 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Check the PCD handle allocation */ 526 .loc 1 259 1 is_stmt 1 view -0 527 .cfi_startproc 528 @ args = 0, pretend = 0, frame = 0 529 @ frame_needed = 0, uses_anonymous_args = 0 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Check the PCD handle allocation */ 530 .loc 1 259 1 is_stmt 0 view .LVU166 531 0000 38B5 push {r3, r4, r5, lr} 532 .LCFI8: 533 .cfi_def_cfa_offset 16 534 .cfi_offset 3, -16 535 .cfi_offset 4, -12 536 .cfi_offset 5, -8 537 .cfi_offset 14, -4 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 538 .loc 1 261 3 is_stmt 1 view .LVU167 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 539 .loc 1 261 6 is_stmt 0 view .LVU168 540 0002 90B1 cbz r0, .L31 541 0004 0446 mov r4, r0 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 542 .loc 1 266 3 is_stmt 1 view .LVU169 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 543 .loc 1 266 15 is_stmt 0 view .LVU170 544 0006 0323 movs r3, #3 545 0008 80F89534 strb r3, [r0, #1173] 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 546 .loc 1 269 3 is_stmt 1 view .LVU171 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 547 .loc 1 269 7 is_stmt 0 view .LVU172 548 000c 0068 ldr r0, [r0] 549 .LVL42: 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 550 .loc 1 269 7 view .LVU173 551 000e FFF7FEFF bl USB_StopDevice 552 .LVL43: 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 553 .loc 1 269 6 discriminator 1 view .LVU174 554 0012 0546 mov r5, r0 555 0014 10B1 cbz r0, .L34 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccxeXpRn.s page 52 556 .loc 1 271 12 view .LVU175 557 0016 0125 movs r5, #1 558 .LVL44: 559 .L30: 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 560 .loc 1 290 1 view .LVU176 561 0018 2846 mov r0, r5 562 001a 38BD pop {r3, r4, r5, pc} 563 .LVL45: 564 .L34: 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 565 .loc 1 284 3 is_stmt 1 view .LVU177 566 001c 2046 mov r0, r4 567 001e FFF7FEFF bl HAL_PCD_MspDeInit 568 .LVL46: 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 569 .loc 1 287 3 view .LVU178 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 570 .loc 1 287 15 is_stmt 0 view .LVU179 571 0022 0023 movs r3, #0 572 0024 84F89534 strb r3, [r4, #1173] 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 573 .loc 1 289 3 is_stmt 1 view .LVU180 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 574 .loc 1 289 10 is_stmt 0 view .LVU181 575 0028 F6E7 b .L30 576 .LVL47: 577 .L31: 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 578 .loc 1 263 12 view .LVU182 579 002a 0125 movs r5, #1 580 002c F4E7 b .L30 581 .cfi_endproc 582 .LFE240: 584 .section .text.HAL_PCD_Start,"ax",%progbits 585 .align 1 586 .global HAL_PCD_Start 587 .syntax unified 588 .thumb 589 .thumb_func 591 HAL_PCD_Start: 592 .LVL48: 593 .LFB243: 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 594 .loc 1 1016 1 is_stmt 1 view -0 595 .cfi_startproc 596 @ args = 0, pretend = 0, frame = 0 597 @ frame_needed = 0, uses_anonymous_args = 0 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 598 .loc 1 1017 3 view .LVU184 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 599 .loc 1 1017 26 is_stmt 0 view .LVU185 600 0000 0368 ldr r3, [r0] 601 .LVL49: 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 602 .loc 1 1019 3 is_stmt 1 view .LVU186 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 53 603 .loc 1 1019 3 view .LVU187 604 0002 90F89424 ldrb r2, [r0, #1172] @ zero_extendqisi2 605 0006 012A cmp r2, #1 606 0008 1AD0 beq .L38 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 607 .loc 1 1016 1 is_stmt 0 view .LVU188 608 000a 10B5 push {r4, lr} 609 .LCFI9: 610 .cfi_def_cfa_offset 8 611 .cfi_offset 4, -8 612 .cfi_offset 14, -4 613 000c 0446 mov r4, r0 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 614 .loc 1 1019 3 is_stmt 1 discriminator 2 view .LVU189 615 000e 0122 movs r2, #1 616 0010 80F89424 strb r2, [r0, #1172] 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 617 .loc 1 1019 3 discriminator 2 view .LVU190 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 618 .loc 1 1021 3 view .LVU191 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 619 .loc 1 1021 13 is_stmt 0 view .LVU192 620 0014 DA68 ldr r2, [r3, #12] 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 621 .loc 1 1021 6 view .LVU193 622 0016 12F0400F tst r2, #64 623 001a 02D0 beq .L37 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 624 .loc 1 1022 18 view .LVU194 625 001c 427B ldrb r2, [r0, #13] @ zero_extendqisi2 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 626 .loc 1 1021 56 discriminator 1 view .LVU195 627 001e 012A cmp r2, #1 628 0020 09D0 beq .L43 629 .L37: 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance); 630 .loc 1 1028 3 is_stmt 1 view .LVU196 631 0022 2068 ldr r0, [r4] 632 .LVL50: 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance); 633 .loc 1 1028 3 is_stmt 0 view .LVU197 634 0024 FFF7FEFF bl USB_EnableGlobalInt 635 .LVL51: 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 636 .loc 1 1029 3 is_stmt 1 view .LVU198 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 637 .loc 1 1029 9 is_stmt 0 view .LVU199 638 0028 2068 ldr r0, [r4] 639 002a FFF7FEFF bl USB_DevConnect 640 .LVL52: 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 641 .loc 1 1030 3 is_stmt 1 view .LVU200 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 642 .loc 1 1030 3 view .LVU201 643 002e 0020 movs r0, #0 644 0030 84F89404 strb r0, [r4, #1172] 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 54 645 .loc 1 1030 3 view .LVU202 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 646 .loc 1 1032 3 view .LVU203 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 647 .loc 1 1033 1 is_stmt 0 view .LVU204 648 0034 10BD pop {r4, pc} 649 .LVL53: 650 .L43: 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 651 .loc 1 1025 5 is_stmt 1 view .LVU205 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 652 .loc 1 1025 9 is_stmt 0 view .LVU206 653 0036 9A6B ldr r2, [r3, #56] 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 654 .loc 1 1025 17 view .LVU207 655 0038 42F48032 orr r2, r2, #65536 656 003c 9A63 str r2, [r3, #56] 657 003e F0E7 b .L37 658 .L38: 659 .LCFI10: 660 .cfi_def_cfa_offset 0 661 .cfi_restore 4 662 .cfi_restore 14 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 663 .loc 1 1019 3 discriminator 1 view .LVU208 664 0040 0220 movs r0, #2 665 .LVL54: 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 666 .loc 1 1033 1 view .LVU209 667 0042 7047 bx lr 668 .cfi_endproc 669 .LFE243: 671 .section .text.HAL_PCD_Stop,"ax",%progbits 672 .align 1 673 .global HAL_PCD_Stop 674 .syntax unified 675 .thumb 676 .thumb_func 678 HAL_PCD_Stop: 679 .LVL55: 680 .LFB244: 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 681 .loc 1 1041 1 is_stmt 1 view -0 682 .cfi_startproc 683 @ args = 0, pretend = 0, frame = 0 684 @ frame_needed = 0, uses_anonymous_args = 0 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 685 .loc 1 1041 1 is_stmt 0 view .LVU211 686 0000 38B5 push {r3, r4, r5, lr} 687 .LCFI11: 688 .cfi_def_cfa_offset 16 689 .cfi_offset 3, -16 690 .cfi_offset 4, -12 691 .cfi_offset 5, -8 692 .cfi_offset 14, -4 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 693 .loc 1 1042 3 is_stmt 1 view .LVU212 ARM GAS /tmp/ccxeXpRn.s page 55 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 694 .loc 1 1042 26 is_stmt 0 view .LVU213 695 0002 0568 ldr r5, [r0] 696 .LVL56: 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 697 .loc 1 1044 3 is_stmt 1 view .LVU214 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 698 .loc 1 1044 3 view .LVU215 699 0004 90F89434 ldrb r3, [r0, #1172] @ zero_extendqisi2 700 0008 012B cmp r3, #1 701 000a 1DD0 beq .L47 702 000c 0446 mov r4, r0 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 703 .loc 1 1044 3 discriminator 2 view .LVU216 704 000e 0123 movs r3, #1 705 0010 80F89434 strb r3, [r0, #1172] 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 706 .loc 1 1044 3 discriminator 2 view .LVU217 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 707 .loc 1 1045 3 view .LVU218 708 0014 2846 mov r0, r5 709 .LVL57: 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 710 .loc 1 1045 3 is_stmt 0 view .LVU219 711 0016 FFF7FEFF bl USB_DisableGlobalInt 712 .LVL58: 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 713 .loc 1 1046 3 is_stmt 1 view .LVU220 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 714 .loc 1 1046 9 is_stmt 0 view .LVU221 715 001a 2068 ldr r0, [r4] 716 001c FFF7FEFF bl USB_DevDisconnect 717 .LVL59: 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 718 .loc 1 1048 3 is_stmt 1 view .LVU222 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 719 .loc 1 1048 9 is_stmt 0 view .LVU223 720 0020 1021 movs r1, #16 721 0022 2068 ldr r0, [r4] 722 0024 FFF7FEFF bl USB_FlushTxFifo 723 .LVL60: 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 724 .loc 1 1050 3 is_stmt 1 view .LVU224 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 725 .loc 1 1050 13 is_stmt 0 view .LVU225 726 0028 EB68 ldr r3, [r5, #12] 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 727 .loc 1 1050 6 view .LVU226 728 002a 13F0400F tst r3, #64 729 002e 02D0 beq .L46 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 730 .loc 1 1051 18 view .LVU227 731 0030 637B ldrb r3, [r4, #13] @ zero_extendqisi2 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 732 .loc 1 1050 56 discriminator 1 view .LVU228 733 0032 012B cmp r3, #1 734 0034 03D0 beq .L49 ARM GAS /tmp/ccxeXpRn.s page 56 735 .L46: 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 736 .loc 1 1057 3 is_stmt 1 view .LVU229 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 737 .loc 1 1057 3 view .LVU230 738 0036 0020 movs r0, #0 739 0038 84F89404 strb r0, [r4, #1172] 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 740 .loc 1 1057 3 view .LVU231 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 741 .loc 1 1059 3 view .LVU232 742 .LVL61: 743 .L45: 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 744 .loc 1 1060 1 is_stmt 0 view .LVU233 745 003c 38BD pop {r3, r4, r5, pc} 746 .LVL62: 747 .L49: 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 748 .loc 1 1054 5 is_stmt 1 view .LVU234 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 749 .loc 1 1054 9 is_stmt 0 view .LVU235 750 003e AB6B ldr r3, [r5, #56] 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 751 .loc 1 1054 17 view .LVU236 752 0040 23F48033 bic r3, r3, #65536 753 0044 AB63 str r3, [r5, #56] 754 0046 F6E7 b .L46 755 .LVL63: 756 .L47: 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 757 .loc 1 1044 3 discriminator 1 view .LVU237 758 0048 0220 movs r0, #2 759 .LVL64: 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 760 .loc 1 1044 3 discriminator 1 view .LVU238 761 004a F7E7 b .L45 762 .cfi_endproc 763 .LFE244: 765 .section .text.HAL_PCD_WKUP_IRQHandler,"ax",%progbits 766 .align 1 767 .global HAL_PCD_WKUP_IRQHandler 768 .syntax unified 769 .thumb 770 .thumb_func 772 HAL_PCD_WKUP_IRQHandler: 773 .LVL65: 774 .LFB246: 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) 775 .loc 1 1533 1 is_stmt 1 view -0 776 .cfi_startproc 777 @ args = 0, pretend = 0, frame = 0 778 @ frame_needed = 0, uses_anonymous_args = 0 779 @ link register save eliminated. 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx = hpcd->Instance; 780 .loc 1 1535 3 view .LVU240 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 57 781 .loc 1 1536 3 view .LVU241 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 782 .loc 1 1536 8 is_stmt 0 view .LVU242 783 0000 0368 ldr r3, [r0] 784 .LVL66: 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 785 .loc 1 1538 3 is_stmt 1 view .LVU243 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 786 .loc 1 1538 6 is_stmt 0 view .LVU244 787 0002 B3F1A04F cmp r3, #1342177280 788 0006 04D0 beq .L53 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 789 .loc 1 1547 5 is_stmt 1 view .LVU245 790 0008 044B ldr r3, .L54 791 .LVL67: 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 792 .loc 1 1547 5 is_stmt 0 view .LVU246 793 000a 4FF48012 mov r2, #1048576 794 000e 5A61 str r2, [r3, #20] 795 .LVL68: 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 796 .loc 1 1549 1 view .LVU247 797 0010 7047 bx lr 798 .LVL69: 799 .L53: 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 800 .loc 1 1541 5 is_stmt 1 view .LVU248 801 0012 024B ldr r3, .L54 802 .LVL70: 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 803 .loc 1 1541 5 is_stmt 0 view .LVU249 804 0014 4FF48022 mov r2, #262144 805 0018 5A61 str r2, [r3, #20] 806 .LVL71: 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 807 .loc 1 1541 5 view .LVU250 808 001a 7047 bx lr 809 .L55: 810 .align 2 811 .L54: 812 001c 003C0140 .word 1073822720 813 .cfi_endproc 814 .LFE246: 816 .section .text.HAL_PCD_DataOutStageCallback,"ax",%progbits 817 .align 1 818 .weak HAL_PCD_DataOutStageCallback 819 .syntax unified 820 .thumb 821 .thumb_func 823 HAL_PCD_DataOutStageCallback: 824 .LVL72: 825 .LFB247: 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 826 .loc 1 1560 1 is_stmt 1 view -0 827 .cfi_startproc 828 @ args = 0, pretend = 0, frame = 0 829 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccxeXpRn.s page 58 830 @ link register save eliminated. 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 831 .loc 1 1562 3 view .LVU252 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 832 .loc 1 1563 3 view .LVU253 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 833 .loc 1 1568 1 is_stmt 0 view .LVU254 834 0000 7047 bx lr 835 .cfi_endproc 836 .LFE247: 838 .section .text.PCD_EP_OutXfrComplete_int,"ax",%progbits 839 .align 1 840 .syntax unified 841 .thumb 842 .thumb_func 844 PCD_EP_OutXfrComplete_int: 845 .LVL73: 846 .LFB275: 2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief process EP OUT transfer complete interrupt. 2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param epnum endpoint number 2240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_OutXfrComplete_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) 2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 847 .loc 1 2243 1 is_stmt 1 view -0 848 .cfi_startproc 849 @ args = 0, pretend = 0, frame = 0 850 @ frame_needed = 0, uses_anonymous_args = 0 851 .loc 1 2243 1 is_stmt 0 view .LVU256 852 0000 70B5 push {r4, r5, r6, lr} 853 .LCFI12: 854 .cfi_def_cfa_offset 16 855 .cfi_offset 4, -16 856 .cfi_offset 5, -12 857 .cfi_offset 6, -8 858 .cfi_offset 14, -4 859 0002 0446 mov r4, r0 860 0004 0D46 mov r5, r1 2244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_EPTypeDef *ep; 861 .loc 1 2244 3 is_stmt 1 view .LVU257 2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** const USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 862 .loc 1 2245 3 view .LVU258 863 .loc 1 2245 32 is_stmt 0 view .LVU259 864 0006 0068 ldr r0, [r0] 865 .LVL74: 2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t USBx_BASE = (uint32_t)USBx; 866 .loc 1 2246 3 is_stmt 1 view .LVU260 2247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t gSNPSiD = *(__IO const uint32_t *)(&USBx->CID + 0x1U); 867 .loc 1 2247 3 view .LVU261 868 .loc 1 2247 12 is_stmt 0 view .LVU262 869 0008 066C ldr r6, [r0, #64] 870 .LVL75: 2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT; ARM GAS /tmp/ccxeXpRn.s page 59 871 .loc 1 2248 3 is_stmt 1 view .LVU263 872 .loc 1 2248 25 is_stmt 0 view .LVU264 873 000a 00EB4113 add r3, r0, r1, lsl #5 874 000e 03F53063 add r3, r3, #2816 875 .loc 1 2248 12 view .LVU265 876 0012 9A68 ldr r2, [r3, #8] 877 .LVL76: 2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->Init.dma_enable == 1U) 878 .loc 1 2250 3 is_stmt 1 view .LVU266 879 .loc 1 2250 17 is_stmt 0 view .LVU267 880 0014 A179 ldrb r1, [r4, #6] @ zero_extendqisi2 881 .LVL77: 882 .loc 1 2250 6 view .LVU268 883 0016 0129 cmp r1, #1 884 0018 11D0 beq .L70 2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((DoepintReg & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) /* Class C */ 2253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* StupPktRcvd = 1 this is a setup packet */ 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 2257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 2259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else if ((DoepintReg & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) /* Class E */ 2262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else if ((DoepintReg & (USB_OTG_DOEPINT_STUP | USB_OTG_DOEPINT_OTEPSPR)) == 0U) 2266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* StupPktRcvd = 1 this is a setup packet */ 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 2269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 2270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 2272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 2274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[epnum]; 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* out data packet received over EP */ 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count = ep->xfer_size - (USBx_OUTEP(epnum)->DOEPTSIZ & USB_OTG_DOEPTSIZ_XFRSIZ); 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (epnum == 0U) 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (ep->xfer_len == 0U) 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* this is ZLP, so prepare EP0 for next setup */ 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_buff += ep->xfer_count; 2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccxeXpRn.s page 60 2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); 2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 2296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 2301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* ... */ 2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (gSNPSiD == USB_OTG_CORE_ID_310A) 885 .loc 1 2307 5 is_stmt 1 view .LVU269 886 .loc 1 2307 8 is_stmt 0 view .LVU270 887 001a 3849 ldr r1, .L74 888 001c 8E42 cmp r6, r1 889 001e 56D0 beq .L71 2308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* StupPktRcvd = 1 this is a setup packet */ 2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX) 2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 2313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((DoepintReg & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) 2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 2319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); 2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 2324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epnum == 0U) && (hpcd->OUT_ep[epnum].xfer_len == 0U)) 890 .loc 1 2330 7 is_stmt 1 view .LVU271 891 .loc 1 2330 10 is_stmt 0 view .LVU272 892 0020 3DB9 cbnz r5, .L68 893 .loc 1 2330 48 discriminator 1 view .LVU273 894 0022 05EBC503 add r3, r5, r5, lsl #3 895 0026 04EB8303 add r3, r4, r3, lsl #2 896 002a D3F86432 ldr r3, [r3, #612] 897 .loc 1 2330 25 discriminator 1 view .LVU274 898 002e 002B cmp r3, #0 899 0030 5ED0 beq .L72 900 .LVL78: 901 .L68: 2331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { ARM GAS /tmp/ccxeXpRn.s page 61 2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* this is ZLP, so prepare EP0 for next setup */ 2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EP0_OutStart(hpcd->Instance, 0U, (uint8_t *)hpcd->Setup); 2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); 2338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 2339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 902 .loc 1 2339 7 is_stmt 1 view .LVU275 903 0032 E9B2 uxtb r1, r5 904 0034 2046 mov r0, r4 905 0036 FFF7FEFF bl HAL_PCD_DataOutStageCallback 906 .LVL79: 907 .L60: 2340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 908 .loc 1 2344 3 view .LVU276 2345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 909 .loc 1 2345 1 is_stmt 0 view .LVU277 910 003a 0020 movs r0, #0 911 003c 70BD pop {r4, r5, r6, pc} 912 .LVL80: 913 .L70: 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 914 .loc 1 2252 5 is_stmt 1 view .LVU278 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 915 .loc 1 2252 8 is_stmt 0 view .LVU279 916 003e 12F0080F tst r2, #8 917 0042 09D0 beq .L59 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 918 .loc 1 2255 7 is_stmt 1 view .LVU280 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 919 .loc 1 2255 10 is_stmt 0 view .LVU281 920 0044 2E49 ldr r1, .L74+4 921 0046 8E42 cmp r6, r1 922 0048 F7D9 bls .L60 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 923 .loc 1 2255 44 discriminator 1 view .LVU282 924 004a 12F4004F tst r2, #32768 925 004e F4D0 beq .L60 2258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 926 .loc 1 2258 9 is_stmt 1 view .LVU283 927 0050 4FF40042 mov r2, #32768 928 .LVL81: 2258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 929 .loc 1 2258 9 is_stmt 0 view .LVU284 930 0054 9A60 str r2, [r3, #8] 931 0056 F0E7 b .L60 932 .LVL82: 933 .L59: 2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 934 .loc 1 2261 10 is_stmt 1 view .LVU285 2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 935 .loc 1 2261 13 is_stmt 0 view .LVU286 ARM GAS /tmp/ccxeXpRn.s page 62 936 0058 12F0200F tst r2, #32 937 005c 02D0 beq .L61 2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 938 .loc 1 2263 7 is_stmt 1 view .LVU287 939 005e 2022 movs r2, #32 940 .LVL83: 2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 941 .loc 1 2263 7 is_stmt 0 view .LVU288 942 0060 9A60 str r2, [r3, #8] 943 0062 EAE7 b .L60 944 .LVL84: 945 .L61: 2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 946 .loc 1 2265 10 is_stmt 1 view .LVU289 2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 947 .loc 1 2265 13 is_stmt 0 view .LVU290 948 0064 12F0280F tst r2, #40 949 0068 E7D1 bne .L60 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 950 .loc 1 2268 7 is_stmt 1 view .LVU291 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 951 .loc 1 2268 10 is_stmt 0 view .LVU292 952 006a 2549 ldr r1, .L74+4 953 006c 8E42 cmp r6, r1 954 006e 06D9 bls .L62 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 955 .loc 1 2268 44 discriminator 1 view .LVU293 956 0070 12F4004F tst r2, #32768 957 0074 03D0 beq .L62 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 958 .loc 1 2271 9 is_stmt 1 view .LVU294 959 0076 4FF40042 mov r2, #32768 960 .LVL85: 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 961 .loc 1 2271 9 is_stmt 0 view .LVU295 962 007a 9A60 str r2, [r3, #8] 963 007c DDE7 b .L60 964 .LVL86: 965 .L62: 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 966 .loc 1 2275 9 is_stmt 1 view .LVU296 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 967 .loc 1 2278 9 view .LVU297 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 968 .loc 1 2278 28 is_stmt 0 view .LVU298 969 007e 05EBC502 add r2, r5, r5, lsl #3 970 .LVL87: 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 971 .loc 1 2278 28 view .LVU299 972 0082 04EB8202 add r2, r4, r2, lsl #2 973 0086 D2F87412 ldr r1, [r2, #628] 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 974 .loc 1 2278 60 view .LVU300 975 008a 1B69 ldr r3, [r3, #16] 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 976 .loc 1 2278 71 view .LVU301 977 008c C3F31203 ubfx r3, r3, #0, #19 ARM GAS /tmp/ccxeXpRn.s page 63 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 978 .loc 1 2278 40 view .LVU302 979 0090 CB1A subs r3, r1, r3 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 980 .loc 1 2278 24 view .LVU303 981 0092 C2F86832 str r3, [r2, #616] 2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 982 .loc 1 2280 9 is_stmt 1 view .LVU304 2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 983 .loc 1 2280 12 is_stmt 0 view .LVU305 984 0096 7DB9 cbnz r5, .L63 2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 985 .loc 1 2282 11 is_stmt 1 view .LVU306 2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 986 .loc 1 2282 17 is_stmt 0 view .LVU307 987 0098 05EBC502 add r2, r5, r5, lsl #3 988 009c 04EB8202 add r2, r4, r2, lsl #2 989 00a0 D2F86422 ldr r2, [r2, #612] 2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 990 .loc 1 2282 14 view .LVU308 991 00a4 6AB1 cbz r2, .L73 2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 992 .loc 1 2289 13 is_stmt 1 view .LVU309 2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 993 .loc 1 2289 15 is_stmt 0 view .LVU310 994 00a6 05EBC502 add r2, r5, r5, lsl #3 995 00aa 04EB8202 add r2, r4, r2, lsl #2 996 00ae D2F86012 ldr r1, [r2, #608] 2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 997 .loc 1 2289 27 view .LVU311 998 00b2 1944 add r1, r1, r3 999 00b4 C2F86012 str r1, [r2, #608] 1000 .LVL88: 1001 .L63: 2296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1002 .loc 1 2296 9 is_stmt 1 view .LVU312 1003 00b8 E9B2 uxtb r1, r5 1004 00ba 2046 mov r0, r4 1005 00bc FFF7FEFF bl HAL_PCD_DataOutStageCallback 1006 .LVL89: 1007 00c0 BBE7 b .L60 1008 .LVL90: 1009 .L73: 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1010 .loc 1 2285 13 view .LVU313 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1011 .loc 1 2285 19 is_stmt 0 view .LVU314 1012 00c2 04F29C42 addw r2, r4, #1180 1013 00c6 0121 movs r1, #1 1014 00c8 FFF7FEFF bl USB_EP0_OutStart 1015 .LVL91: 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1016 .loc 1 2285 19 view .LVU315 1017 00cc F4E7 b .L63 1018 .LVL92: 1019 .L71: 2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { ARM GAS /tmp/ccxeXpRn.s page 64 1020 .loc 1 2310 7 is_stmt 1 view .LVU316 2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1021 .loc 1 2310 10 is_stmt 0 view .LVU317 1022 00ce 12F4004F tst r2, #32768 1023 00d2 03D0 beq .L66 2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1024 .loc 1 2312 9 is_stmt 1 view .LVU318 1025 00d4 4FF40042 mov r2, #32768 1026 .LVL93: 2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1027 .loc 1 2312 9 is_stmt 0 view .LVU319 1028 00d8 9A60 str r2, [r3, #8] 1029 00da AEE7 b .L60 1030 .LVL94: 1031 .L66: 2316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1032 .loc 1 2316 9 is_stmt 1 view .LVU320 2316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1033 .loc 1 2316 12 is_stmt 0 view .LVU321 1034 00dc 12F0200F tst r2, #32 1035 00e0 01D0 beq .L67 2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1036 .loc 1 2318 11 is_stmt 1 view .LVU322 1037 00e2 2022 movs r2, #32 1038 .LVL95: 2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1039 .loc 1 2318 11 is_stmt 0 view .LVU323 1040 00e4 9A60 str r2, [r3, #8] 1041 .L67: 2324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1042 .loc 1 2324 9 is_stmt 1 view .LVU324 1043 00e6 E9B2 uxtb r1, r5 1044 00e8 2046 mov r0, r4 1045 .LVL96: 2324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1046 .loc 1 2324 9 is_stmt 0 view .LVU325 1047 00ea FFF7FEFF bl HAL_PCD_DataOutStageCallback 1048 .LVL97: 1049 00ee A4E7 b .L60 1050 .LVL98: 1051 .L72: 2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1052 .loc 1 2333 9 is_stmt 1 view .LVU326 2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1053 .loc 1 2333 15 is_stmt 0 view .LVU327 1054 00f0 04F29C42 addw r2, r4, #1180 1055 .LVL99: 2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1056 .loc 1 2333 15 view .LVU328 1057 00f4 0021 movs r1, #0 1058 00f6 FFF7FEFF bl USB_EP0_OutStart 1059 .LVL100: 2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1060 .loc 1 2333 15 view .LVU329 1061 00fa 9AE7 b .L68 1062 .L75: 1063 .align 2 ARM GAS /tmp/ccxeXpRn.s page 65 1064 .L74: 1065 00fc 0A31544F .word 1330917642 1066 0100 0A30544F .word 1330917386 1067 .cfi_endproc 1068 .LFE275: 1070 .section .text.HAL_PCD_DataInStageCallback,"ax",%progbits 1071 .align 1 1072 .weak HAL_PCD_DataInStageCallback 1073 .syntax unified 1074 .thumb 1075 .thumb_func 1077 HAL_PCD_DataInStageCallback: 1078 .LVL101: 1079 .LFB248: 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1080 .loc 1 1577 1 is_stmt 1 view -0 1081 .cfi_startproc 1082 @ args = 0, pretend = 0, frame = 0 1083 @ frame_needed = 0, uses_anonymous_args = 0 1084 @ link register save eliminated. 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 1085 .loc 1 1579 3 view .LVU331 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1086 .loc 1 1580 3 view .LVU332 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1087 .loc 1 1585 1 is_stmt 0 view .LVU333 1088 0000 7047 bx lr 1089 .cfi_endproc 1090 .LFE248: 1092 .section .text.HAL_PCD_SetupStageCallback,"ax",%progbits 1093 .align 1 1094 .weak HAL_PCD_SetupStageCallback 1095 .syntax unified 1096 .thumb 1097 .thumb_func 1099 HAL_PCD_SetupStageCallback: 1100 .LVL102: 1101 .LFB249: 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1102 .loc 1 1592 1 is_stmt 1 view -0 1103 .cfi_startproc 1104 @ args = 0, pretend = 0, frame = 0 1105 @ frame_needed = 0, uses_anonymous_args = 0 1106 @ link register save eliminated. 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1107 .loc 1 1594 3 view .LVU335 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1108 .loc 1 1599 1 is_stmt 0 view .LVU336 1109 0000 7047 bx lr 1110 .cfi_endproc 1111 .LFE249: 1113 .section .text.PCD_EP_OutSetupPacket_int,"ax",%progbits 1114 .align 1 1115 .syntax unified 1116 .thumb 1117 .thumb_func 1119 PCD_EP_OutSetupPacket_int: ARM GAS /tmp/ccxeXpRn.s page 66 1120 .LVL103: 1121 .LFB276: 2346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief process EP OUT setup packet received interrupt. 2350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 2351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param epnum endpoint number 2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 2353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) 2355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1122 .loc 1 2355 1 is_stmt 1 view -0 1123 .cfi_startproc 1124 @ args = 0, pretend = 0, frame = 0 1125 @ frame_needed = 0, uses_anonymous_args = 0 1126 .loc 1 2355 1 is_stmt 0 view .LVU338 1127 0000 38B5 push {r3, r4, r5, lr} 1128 .LCFI13: 1129 .cfi_def_cfa_offset 16 1130 .cfi_offset 3, -16 1131 .cfi_offset 4, -12 1132 .cfi_offset 5, -8 1133 .cfi_offset 14, -4 1134 0002 0446 mov r4, r0 2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** const USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1135 .loc 1 2356 3 is_stmt 1 view .LVU339 1136 .loc 1 2356 32 is_stmt 0 view .LVU340 1137 0004 0368 ldr r3, [r0] 1138 .LVL104: 2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1139 .loc 1 2357 3 is_stmt 1 view .LVU341 2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t gSNPSiD = *(__IO const uint32_t *)(&USBx->CID + 0x1U); 1140 .loc 1 2358 3 view .LVU342 1141 .loc 1 2358 12 is_stmt 0 view .LVU343 1142 0006 1D6C ldr r5, [r3, #64] 1143 .LVL105: 2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT; 1144 .loc 1 2359 3 is_stmt 1 view .LVU344 1145 .loc 1 2359 25 is_stmt 0 view .LVU345 1146 0008 03EB4113 add r3, r3, r1, lsl #5 1147 .LVL106: 1148 .loc 1 2359 12 view .LVU346 1149 000c D3F8081B ldr r1, [r3, #2824] 1150 .LVL107: 2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 1151 .loc 1 2361 3 is_stmt 1 view .LVU347 1152 .loc 1 2361 6 is_stmt 0 view .LVU348 1153 0010 0E4A ldr r2, .L83 1154 0012 9542 cmp r5, r2 1155 0014 07D9 bls .L79 1156 0016 03F53063 add r3, r3, #2816 1157 .loc 1 2361 40 discriminator 1 view .LVU349 1158 001a 11F4004F tst r1, #32768 1159 001e 02D0 beq .L79 2362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) ARM GAS /tmp/ccxeXpRn.s page 67 2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 1160 .loc 1 2364 5 is_stmt 1 view .LVU350 1161 0020 4FF40042 mov r2, #32768 1162 0024 9A60 str r2, [r3, #8] 1163 .LVL108: 1164 .L79: 2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Inform the upper layer that a setup packet is available */ 2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SetupStageCallback(hpcd); 2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_SetupStageCallback(hpcd); 1165 .loc 1 2371 3 view .LVU351 1166 0026 2046 mov r0, r4 1167 .LVL109: 1168 .loc 1 2371 3 is_stmt 0 view .LVU352 1169 0028 FFF7FEFF bl HAL_PCD_SetupStageCallback 1170 .LVL110: 2372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((gSNPSiD > USB_OTG_CORE_ID_300A) && (hpcd->Init.dma_enable == 1U)) 1171 .loc 1 2374 3 is_stmt 1 view .LVU353 1172 .loc 1 2374 6 is_stmt 0 view .LVU354 1173 002c 074B ldr r3, .L83 1174 002e 9D42 cmp r5, r3 1175 0030 02D9 bls .L80 1176 .loc 1 2374 54 discriminator 1 view .LVU355 1177 0032 A379 ldrb r3, [r4, #6] @ zero_extendqisi2 1178 .loc 1 2374 40 discriminator 1 view .LVU356 1179 0034 012B cmp r3, #1 1180 0036 01D0 beq .L82 1181 .L80: 2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1182 .loc 1 2379 3 is_stmt 1 view .LVU357 2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1183 .loc 1 2380 1 is_stmt 0 view .LVU358 1184 0038 0020 movs r0, #0 1185 003a 38BD pop {r3, r4, r5, pc} 1186 .LVL111: 1187 .L82: 2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1188 .loc 1 2376 5 is_stmt 1 view .LVU359 2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1189 .loc 1 2376 11 is_stmt 0 view .LVU360 1190 003c 04F29C42 addw r2, r4, #1180 1191 0040 0121 movs r1, #1 1192 0042 2068 ldr r0, [r4] 1193 0044 FFF7FEFF bl USB_EP0_OutStart 1194 .LVL112: 1195 0048 F6E7 b .L80 1196 .L84: ARM GAS /tmp/ccxeXpRn.s page 68 1197 004a 00BF .align 2 1198 .L83: 1199 004c 0A30544F .word 1330917386 1200 .cfi_endproc 1201 .LFE276: 1203 .section .text.HAL_PCD_SOFCallback,"ax",%progbits 1204 .align 1 1205 .weak HAL_PCD_SOFCallback 1206 .syntax unified 1207 .thumb 1208 .thumb_func 1210 HAL_PCD_SOFCallback: 1211 .LVL113: 1212 .LFB250: 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1213 .loc 1 1607 1 is_stmt 1 view -0 1214 .cfi_startproc 1215 @ args = 0, pretend = 0, frame = 0 1216 @ frame_needed = 0, uses_anonymous_args = 0 1217 @ link register save eliminated. 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1218 .loc 1 1609 3 view .LVU362 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1219 .loc 1 1614 1 is_stmt 0 view .LVU363 1220 0000 7047 bx lr 1221 .cfi_endproc 1222 .LFE250: 1224 .section .text.HAL_PCD_ResetCallback,"ax",%progbits 1225 .align 1 1226 .weak HAL_PCD_ResetCallback 1227 .syntax unified 1228 .thumb 1229 .thumb_func 1231 HAL_PCD_ResetCallback: 1232 .LVL114: 1233 .LFB251: 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1234 .loc 1 1622 1 is_stmt 1 view -0 1235 .cfi_startproc 1236 @ args = 0, pretend = 0, frame = 0 1237 @ frame_needed = 0, uses_anonymous_args = 0 1238 @ link register save eliminated. 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1239 .loc 1 1624 3 view .LVU365 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1240 .loc 1 1629 1 is_stmt 0 view .LVU366 1241 0000 7047 bx lr 1242 .cfi_endproc 1243 .LFE251: 1245 .section .text.HAL_PCD_SuspendCallback,"ax",%progbits 1246 .align 1 1247 .weak HAL_PCD_SuspendCallback 1248 .syntax unified 1249 .thumb 1250 .thumb_func 1252 HAL_PCD_SuspendCallback: 1253 .LVL115: ARM GAS /tmp/ccxeXpRn.s page 69 1254 .LFB252: 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1255 .loc 1 1637 1 is_stmt 1 view -0 1256 .cfi_startproc 1257 @ args = 0, pretend = 0, frame = 0 1258 @ frame_needed = 0, uses_anonymous_args = 0 1259 @ link register save eliminated. 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1260 .loc 1 1639 3 view .LVU368 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1261 .loc 1 1644 1 is_stmt 0 view .LVU369 1262 0000 7047 bx lr 1263 .cfi_endproc 1264 .LFE252: 1266 .section .text.HAL_PCD_ResumeCallback,"ax",%progbits 1267 .align 1 1268 .weak HAL_PCD_ResumeCallback 1269 .syntax unified 1270 .thumb 1271 .thumb_func 1273 HAL_PCD_ResumeCallback: 1274 .LVL116: 1275 .LFB253: 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1276 .loc 1 1652 1 is_stmt 1 view -0 1277 .cfi_startproc 1278 @ args = 0, pretend = 0, frame = 0 1279 @ frame_needed = 0, uses_anonymous_args = 0 1280 @ link register save eliminated. 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1281 .loc 1 1654 3 view .LVU371 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1282 .loc 1 1659 1 is_stmt 0 view .LVU372 1283 0000 7047 bx lr 1284 .cfi_endproc 1285 .LFE253: 1287 .section .text.HAL_PCD_ISOOUTIncompleteCallback,"ax",%progbits 1288 .align 1 1289 .weak HAL_PCD_ISOOUTIncompleteCallback 1290 .syntax unified 1291 .thumb 1292 .thumb_func 1294 HAL_PCD_ISOOUTIncompleteCallback: 1295 .LVL117: 1296 .LFB254: 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1297 .loc 1 1668 1 is_stmt 1 view -0 1298 .cfi_startproc 1299 @ args = 0, pretend = 0, frame = 0 1300 @ frame_needed = 0, uses_anonymous_args = 0 1301 @ link register save eliminated. 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 1302 .loc 1 1670 3 view .LVU374 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1303 .loc 1 1671 3 view .LVU375 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1304 .loc 1 1676 1 is_stmt 0 view .LVU376 ARM GAS /tmp/ccxeXpRn.s page 70 1305 0000 7047 bx lr 1306 .cfi_endproc 1307 .LFE254: 1309 .section .text.HAL_PCD_ISOINIncompleteCallback,"ax",%progbits 1310 .align 1 1311 .weak HAL_PCD_ISOINIncompleteCallback 1312 .syntax unified 1313 .thumb 1314 .thumb_func 1316 HAL_PCD_ISOINIncompleteCallback: 1317 .LVL118: 1318 .LFB255: 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1319 .loc 1 1685 1 is_stmt 1 view -0 1320 .cfi_startproc 1321 @ args = 0, pretend = 0, frame = 0 1322 @ frame_needed = 0, uses_anonymous_args = 0 1323 @ link register save eliminated. 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 1324 .loc 1 1687 3 view .LVU378 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1325 .loc 1 1688 3 view .LVU379 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1326 .loc 1 1693 1 is_stmt 0 view .LVU380 1327 0000 7047 bx lr 1328 .cfi_endproc 1329 .LFE255: 1331 .section .text.HAL_PCD_ConnectCallback,"ax",%progbits 1332 .align 1 1333 .weak HAL_PCD_ConnectCallback 1334 .syntax unified 1335 .thumb 1336 .thumb_func 1338 HAL_PCD_ConnectCallback: 1339 .LVL119: 1340 .LFB256: 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1341 .loc 1 1701 1 is_stmt 1 view -0 1342 .cfi_startproc 1343 @ args = 0, pretend = 0, frame = 0 1344 @ frame_needed = 0, uses_anonymous_args = 0 1345 @ link register save eliminated. 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1346 .loc 1 1703 3 view .LVU382 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1347 .loc 1 1708 1 is_stmt 0 view .LVU383 1348 0000 7047 bx lr 1349 .cfi_endproc 1350 .LFE256: 1352 .section .text.HAL_PCD_DisconnectCallback,"ax",%progbits 1353 .align 1 1354 .weak HAL_PCD_DisconnectCallback 1355 .syntax unified 1356 .thumb 1357 .thumb_func 1359 HAL_PCD_DisconnectCallback: 1360 .LVL120: ARM GAS /tmp/ccxeXpRn.s page 71 1361 .LFB257: 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1362 .loc 1 1716 1 is_stmt 1 view -0 1363 .cfi_startproc 1364 @ args = 0, pretend = 0, frame = 0 1365 @ frame_needed = 0, uses_anonymous_args = 0 1366 @ link register save eliminated. 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1367 .loc 1 1718 3 view .LVU385 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1368 .loc 1 1723 1 is_stmt 0 view .LVU386 1369 0000 7047 bx lr 1370 .cfi_endproc 1371 .LFE257: 1373 .section .text.HAL_PCD_DevConnect,"ax",%progbits 1374 .align 1 1375 .global HAL_PCD_DevConnect 1376 .syntax unified 1377 .thumb 1378 .thumb_func 1380 HAL_PCD_DevConnect: 1381 .LVL121: 1382 .LFB258: 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1383 .loc 1 1750 1 is_stmt 1 view -0 1384 .cfi_startproc 1385 @ args = 0, pretend = 0, frame = 0 1386 @ frame_needed = 0, uses_anonymous_args = 0 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1387 .loc 1 1751 3 view .LVU388 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1388 .loc 1 1751 26 is_stmt 0 view .LVU389 1389 0000 0368 ldr r3, [r0] 1390 .LVL122: 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1391 .loc 1 1753 3 is_stmt 1 view .LVU390 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1392 .loc 1 1753 3 view .LVU391 1393 0002 90F89424 ldrb r2, [r0, #1172] @ zero_extendqisi2 1394 0006 012A cmp r2, #1 1395 0008 17D0 beq .L96 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1396 .loc 1 1750 1 is_stmt 0 view .LVU392 1397 000a 10B5 push {r4, lr} 1398 .LCFI14: 1399 .cfi_def_cfa_offset 8 1400 .cfi_offset 4, -8 1401 .cfi_offset 14, -4 1402 000c 0446 mov r4, r0 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1403 .loc 1 1753 3 is_stmt 1 discriminator 2 view .LVU393 1404 000e 0122 movs r2, #1 1405 0010 80F89424 strb r2, [r0, #1172] 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1406 .loc 1 1753 3 discriminator 2 view .LVU394 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1407 .loc 1 1755 3 view .LVU395 ARM GAS /tmp/ccxeXpRn.s page 72 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1408 .loc 1 1755 13 is_stmt 0 view .LVU396 1409 0014 DA68 ldr r2, [r3, #12] 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1410 .loc 1 1755 6 view .LVU397 1411 0016 12F0400F tst r2, #64 1412 001a 02D0 beq .L95 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1413 .loc 1 1756 18 view .LVU398 1414 001c 427B ldrb r2, [r0, #13] @ zero_extendqisi2 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1415 .loc 1 1755 56 discriminator 1 view .LVU399 1416 001e 012A cmp r2, #1 1417 0020 06D0 beq .L101 1418 .L95: 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1419 .loc 1 1761 3 is_stmt 1 view .LVU400 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1420 .loc 1 1761 9 is_stmt 0 view .LVU401 1421 0022 2068 ldr r0, [r4] 1422 .LVL123: 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1423 .loc 1 1761 9 view .LVU402 1424 0024 FFF7FEFF bl USB_DevConnect 1425 .LVL124: 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1426 .loc 1 1762 3 is_stmt 1 view .LVU403 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1427 .loc 1 1762 3 view .LVU404 1428 0028 0020 movs r0, #0 1429 002a 84F89404 strb r0, [r4, #1172] 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1430 .loc 1 1762 3 view .LVU405 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1431 .loc 1 1764 3 view .LVU406 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1432 .loc 1 1765 1 is_stmt 0 view .LVU407 1433 002e 10BD pop {r4, pc} 1434 .LVL125: 1435 .L101: 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1436 .loc 1 1759 5 is_stmt 1 view .LVU408 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1437 .loc 1 1759 9 is_stmt 0 view .LVU409 1438 0030 9A6B ldr r2, [r3, #56] 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1439 .loc 1 1759 17 view .LVU410 1440 0032 42F48032 orr r2, r2, #65536 1441 0036 9A63 str r2, [r3, #56] 1442 0038 F3E7 b .L95 1443 .L96: 1444 .LCFI15: 1445 .cfi_def_cfa_offset 0 1446 .cfi_restore 4 1447 .cfi_restore 14 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1448 .loc 1 1753 3 discriminator 1 view .LVU411 ARM GAS /tmp/ccxeXpRn.s page 73 1449 003a 0220 movs r0, #2 1450 .LVL126: 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1451 .loc 1 1765 1 view .LVU412 1452 003c 7047 bx lr 1453 .cfi_endproc 1454 .LFE258: 1456 .section .text.HAL_PCD_DevDisconnect,"ax",%progbits 1457 .align 1 1458 .global HAL_PCD_DevDisconnect 1459 .syntax unified 1460 .thumb 1461 .thumb_func 1463 HAL_PCD_DevDisconnect: 1464 .LVL127: 1465 .LFB259: 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1466 .loc 1 1773 1 is_stmt 1 view -0 1467 .cfi_startproc 1468 @ args = 0, pretend = 0, frame = 0 1469 @ frame_needed = 0, uses_anonymous_args = 0 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1470 .loc 1 1773 1 is_stmt 0 view .LVU414 1471 0000 38B5 push {r3, r4, r5, lr} 1472 .LCFI16: 1473 .cfi_def_cfa_offset 16 1474 .cfi_offset 3, -16 1475 .cfi_offset 4, -12 1476 .cfi_offset 5, -8 1477 .cfi_offset 14, -4 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1478 .loc 1 1774 3 is_stmt 1 view .LVU415 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1479 .loc 1 1774 26 is_stmt 0 view .LVU416 1480 0002 0568 ldr r5, [r0] 1481 .LVL128: 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 1482 .loc 1 1776 3 is_stmt 1 view .LVU417 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 1483 .loc 1 1776 3 view .LVU418 1484 0004 90F89434 ldrb r3, [r0, #1172] @ zero_extendqisi2 1485 0008 012B cmp r3, #1 1486 000a 16D0 beq .L105 1487 000c 0446 mov r4, r0 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 1488 .loc 1 1776 3 discriminator 2 view .LVU419 1489 000e 0123 movs r3, #1 1490 0010 80F89434 strb r3, [r0, #1172] 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 1491 .loc 1 1776 3 discriminator 2 view .LVU420 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1492 .loc 1 1777 3 view .LVU421 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1493 .loc 1 1777 9 is_stmt 0 view .LVU422 1494 0014 2846 mov r0, r5 1495 .LVL129: 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 74 1496 .loc 1 1777 9 view .LVU423 1497 0016 FFF7FEFF bl USB_DevDisconnect 1498 .LVL130: 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1499 .loc 1 1779 3 is_stmt 1 view .LVU424 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1500 .loc 1 1779 13 is_stmt 0 view .LVU425 1501 001a EB68 ldr r3, [r5, #12] 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1502 .loc 1 1779 6 view .LVU426 1503 001c 13F0400F tst r3, #64 1504 0020 02D0 beq .L104 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1505 .loc 1 1780 18 view .LVU427 1506 0022 637B ldrb r3, [r4, #13] @ zero_extendqisi2 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.battery_charging_enable == 1U)) 1507 .loc 1 1779 56 discriminator 1 view .LVU428 1508 0024 012B cmp r3, #1 1509 0026 03D0 beq .L107 1510 .L104: 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1511 .loc 1 1786 3 is_stmt 1 view .LVU429 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1512 .loc 1 1786 3 view .LVU430 1513 0028 0020 movs r0, #0 1514 002a 84F89404 strb r0, [r4, #1172] 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1515 .loc 1 1786 3 view .LVU431 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1516 .loc 1 1788 3 view .LVU432 1517 .LVL131: 1518 .L103: 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1519 .loc 1 1789 1 is_stmt 0 view .LVU433 1520 002e 38BD pop {r3, r4, r5, pc} 1521 .LVL132: 1522 .L107: 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1523 .loc 1 1783 5 is_stmt 1 view .LVU434 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1524 .loc 1 1783 9 is_stmt 0 view .LVU435 1525 0030 AB6B ldr r3, [r5, #56] 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1526 .loc 1 1783 17 view .LVU436 1527 0032 23F48033 bic r3, r3, #65536 1528 0036 AB63 str r3, [r5, #56] 1529 0038 F6E7 b .L104 1530 .LVL133: 1531 .L105: 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 1532 .loc 1 1776 3 discriminator 1 view .LVU437 1533 003a 0220 movs r0, #2 1534 .LVL134: 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 1535 .loc 1 1776 3 discriminator 1 view .LVU438 1536 003c F7E7 b .L103 1537 .cfi_endproc ARM GAS /tmp/ccxeXpRn.s page 75 1538 .LFE259: 1540 .section .text.HAL_PCD_SetAddress,"ax",%progbits 1541 .align 1 1542 .global HAL_PCD_SetAddress 1543 .syntax unified 1544 .thumb 1545 .thumb_func 1547 HAL_PCD_SetAddress: 1548 .LVL135: 1549 .LFB260: 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1550 .loc 1 1798 1 is_stmt 1 view -0 1551 .cfi_startproc 1552 @ args = 0, pretend = 0, frame = 0 1553 @ frame_needed = 0, uses_anonymous_args = 0 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->USB_Address = address; 1554 .loc 1 1799 3 view .LVU440 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->USB_Address = address; 1555 .loc 1 1799 3 view .LVU441 1556 0000 90F89434 ldrb r3, [r0, #1172] @ zero_extendqisi2 1557 0004 012B cmp r3, #1 1558 0006 0CD0 beq .L110 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1559 .loc 1 1798 1 is_stmt 0 view .LVU442 1560 0008 10B5 push {r4, lr} 1561 .LCFI17: 1562 .cfi_def_cfa_offset 8 1563 .cfi_offset 4, -8 1564 .cfi_offset 14, -4 1565 000a 0446 mov r4, r0 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->USB_Address = address; 1566 .loc 1 1799 3 is_stmt 1 discriminator 2 view .LVU443 1567 000c 0123 movs r3, #1 1568 000e 80F89434 strb r3, [r0, #1172] 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->USB_Address = address; 1569 .loc 1 1799 3 discriminator 2 view .LVU444 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_SetDevAddress(hpcd->Instance, address); 1570 .loc 1 1800 3 view .LVU445 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_SetDevAddress(hpcd->Instance, address); 1571 .loc 1 1800 21 is_stmt 0 view .LVU446 1572 0012 4174 strb r1, [r0, #17] 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1573 .loc 1 1801 3 is_stmt 1 view .LVU447 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1574 .loc 1 1801 9 is_stmt 0 view .LVU448 1575 0014 0068 ldr r0, [r0] 1576 .LVL136: 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1577 .loc 1 1801 9 view .LVU449 1578 0016 FFF7FEFF bl USB_SetDevAddress 1579 .LVL137: 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1580 .loc 1 1802 3 is_stmt 1 view .LVU450 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1581 .loc 1 1802 3 view .LVU451 1582 001a 0020 movs r0, #0 1583 001c 84F89404 strb r0, [r4, #1172] ARM GAS /tmp/ccxeXpRn.s page 76 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1584 .loc 1 1802 3 view .LVU452 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1585 .loc 1 1804 3 view .LVU453 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1586 .loc 1 1805 1 is_stmt 0 view .LVU454 1587 0020 10BD pop {r4, pc} 1588 .LVL138: 1589 .L110: 1590 .LCFI18: 1591 .cfi_def_cfa_offset 0 1592 .cfi_restore 4 1593 .cfi_restore 14 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->USB_Address = address; 1594 .loc 1 1799 3 discriminator 1 view .LVU455 1595 0022 0220 movs r0, #2 1596 .LVL139: 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1597 .loc 1 1805 1 view .LVU456 1598 0024 7047 bx lr 1599 .cfi_endproc 1600 .LFE260: 1602 .section .text.HAL_PCD_EP_Open,"ax",%progbits 1603 .align 1 1604 .global HAL_PCD_EP_Open 1605 .syntax unified 1606 .thumb 1607 .thumb_func 1609 HAL_PCD_EP_Open: 1610 .LVL140: 1611 .LFB261: 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef ret = HAL_OK; 1612 .loc 1 1816 1 is_stmt 1 view -0 1613 .cfi_startproc 1614 @ args = 0, pretend = 0, frame = 0 1615 @ frame_needed = 0, uses_anonymous_args = 0 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef ret = HAL_OK; 1616 .loc 1 1816 1 is_stmt 0 view .LVU458 1617 0000 38B5 push {r3, r4, r5, lr} 1618 .LCFI19: 1619 .cfi_def_cfa_offset 16 1620 .cfi_offset 3, -16 1621 .cfi_offset 4, -12 1622 .cfi_offset 5, -8 1623 .cfi_offset 14, -4 1624 0002 0546 mov r5, r0 1625 0004 8C46 mov ip, r1 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1626 .loc 1 1817 3 is_stmt 1 view .LVU459 1627 .LVL141: 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1628 .loc 1 1818 3 view .LVU460 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1629 .loc 1 1820 3 view .LVU461 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1630 .loc 1 1820 6 is_stmt 0 view .LVU462 1631 0006 11F0800F tst r1, #128 ARM GAS /tmp/ccxeXpRn.s page 77 1632 000a 2BD1 bne .L123 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1633 .loc 1 1827 5 is_stmt 1 view .LVU463 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1634 .loc 1 1827 32 is_stmt 0 view .LVU464 1635 000c 01F00F0E and lr, r1, #15 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1636 .loc 1 1827 8 view .LVU465 1637 0010 0EEBCE04 add r4, lr, lr, lsl #3 1638 0014 A400 lsls r4, r4, #2 1639 0016 04F51474 add r4, r4, #592 1640 001a 0444 add r4, r4, r0 1641 001c 211D adds r1, r4, #4 1642 .LVL142: 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1643 .loc 1 1828 5 is_stmt 1 view .LVU466 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1644 .loc 1 1828 15 is_stmt 0 view .LVU467 1645 001e 0EEBCE0E add lr, lr, lr, lsl #3 1646 0022 00EB8E0E add lr, r0, lr, lsl #2 1647 0026 0020 movs r0, #0 1648 .LVL143: 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1649 .loc 1 1828 15 view .LVU468 1650 0028 8EF85502 strb r0, [lr, #597] 1651 .L117: 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->maxpacket = (uint32_t)ep_mps & 0x7FFU; 1652 .loc 1 1831 3 is_stmt 1 view .LVU469 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->maxpacket = (uint32_t)ep_mps & 0x7FFU; 1653 .loc 1 1831 21 is_stmt 0 view .LVU470 1654 002c 0CF00F0C and ip, ip, #15 1655 .LVL144: 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->maxpacket = (uint32_t)ep_mps & 0x7FFU; 1656 .loc 1 1831 11 view .LVU471 1657 0030 81F800C0 strb ip, [r1] 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->type = ep_type; 1658 .loc 1 1832 3 is_stmt 1 view .LVU472 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->type = ep_type; 1659 .loc 1 1832 36 is_stmt 0 view .LVU473 1660 0034 C2F30A02 ubfx r2, r2, #0, #11 1661 .LVL145: 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->type = ep_type; 1662 .loc 1 1832 17 view .LVU474 1663 0038 8A60 str r2, [r1, #8] 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1664 .loc 1 1833 3 is_stmt 1 view .LVU475 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1665 .loc 1 1833 12 is_stmt 0 view .LVU476 1666 003a 0B71 strb r3, [r1, #4] 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1667 .loc 1 1835 3 is_stmt 1 view .LVU477 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1668 .loc 1 1835 9 is_stmt 0 view .LVU478 1669 003c 4A78 ldrb r2, [r1, #1] @ zero_extendqisi2 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1670 .loc 1 1835 6 view .LVU479 1671 003e 0AB1 cbz r2, .L118 ARM GAS /tmp/ccxeXpRn.s page 78 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1672 .loc 1 1838 5 is_stmt 1 view .LVU480 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1673 .loc 1 1838 21 is_stmt 0 view .LVU481 1674 0040 A1F81AC0 strh ip, [r1, #26] @ movhi 1675 .L118: 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1676 .loc 1 1842 3 is_stmt 1 view .LVU482 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1677 .loc 1 1842 6 is_stmt 0 view .LVU483 1678 0044 022B cmp r3, #2 1679 0046 1CD0 beq .L124 1680 .LVL146: 1681 .L119: 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 1682 .loc 1 1847 3 is_stmt 1 view .LVU484 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 1683 .loc 1 1847 3 view .LVU485 1684 0048 95F89434 ldrb r3, [r5, #1172] @ zero_extendqisi2 1685 004c 012B cmp r3, #1 1686 004e 1BD0 beq .L121 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 1687 .loc 1 1847 3 discriminator 2 view .LVU486 1688 0050 0123 movs r3, #1 1689 0052 85F89434 strb r3, [r5, #1172] 1690 .LVL147: 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 1691 .loc 1 1847 3 discriminator 2 view .LVU487 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1692 .loc 1 1848 3 view .LVU488 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1693 .loc 1 1848 9 is_stmt 0 view .LVU489 1694 0056 2868 ldr r0, [r5] 1695 0058 FFF7FEFF bl USB_ActivateEndpoint 1696 .LVL148: 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1697 .loc 1 1849 3 is_stmt 1 view .LVU490 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1698 .loc 1 1849 3 view .LVU491 1699 005c 0020 movs r0, #0 1700 005e 85F89404 strb r0, [r5, #1172] 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1701 .loc 1 1849 3 view .LVU492 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1702 .loc 1 1851 3 view .LVU493 1703 .L120: 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1704 .loc 1 1852 1 is_stmt 0 view .LVU494 1705 0062 38BD pop {r3, r4, r5, pc} 1706 .LVL149: 1707 .L123: 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1708 .loc 1 1822 5 is_stmt 1 view .LVU495 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1709 .loc 1 1822 31 is_stmt 0 view .LVU496 1710 0064 01F00F00 and r0, r1, #15 1711 .LVL150: ARM GAS /tmp/ccxeXpRn.s page 79 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1712 .loc 1 1822 8 view .LVU497 1713 0068 00EBC001 add r1, r0, r0, lsl #3 1714 .LVL151: 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1715 .loc 1 1822 8 view .LVU498 1716 006c 8900 lsls r1, r1, #2 1717 006e 1031 adds r1, r1, #16 1718 0070 2944 add r1, r1, r5 1719 0072 0431 adds r1, r1, #4 1720 .LVL152: 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1721 .loc 1 1823 5 is_stmt 1 view .LVU499 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1722 .loc 1 1823 15 is_stmt 0 view .LVU500 1723 0074 00EBC000 add r0, r0, r0, lsl #3 1724 0078 05EB8000 add r0, r5, r0, lsl #2 1725 007c 0124 movs r4, #1 1726 007e 4475 strb r4, [r0, #21] 1727 0080 D4E7 b .L117 1728 .LVL153: 1729 .L124: 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1730 .loc 1 1844 5 is_stmt 1 view .LVU501 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1731 .loc 1 1844 24 is_stmt 0 view .LVU502 1732 0082 0023 movs r3, #0 1733 .LVL154: 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1734 .loc 1 1844 24 view .LVU503 1735 0084 4B71 strb r3, [r1, #5] 1736 0086 DFE7 b .L119 1737 .L121: 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 1738 .loc 1 1847 3 discriminator 1 view .LVU504 1739 0088 0220 movs r0, #2 1740 008a EAE7 b .L120 1741 .cfi_endproc 1742 .LFE261: 1744 .section .text.HAL_PCD_EP_Close,"ax",%progbits 1745 .align 1 1746 .global HAL_PCD_EP_Close 1747 .syntax unified 1748 .thumb 1749 .thumb_func 1751 HAL_PCD_EP_Close: 1752 .LVL155: 1753 .LFB262: 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1754 .loc 1 1861 1 is_stmt 1 view -0 1755 .cfi_startproc 1756 @ args = 0, pretend = 0, frame = 0 1757 @ frame_needed = 0, uses_anonymous_args = 0 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1758 .loc 1 1861 1 is_stmt 0 view .LVU506 1759 0000 10B5 push {r4, lr} 1760 .LCFI20: ARM GAS /tmp/ccxeXpRn.s page 80 1761 .cfi_def_cfa_offset 8 1762 .cfi_offset 4, -8 1763 .cfi_offset 14, -4 1764 0002 0446 mov r4, r0 1765 0004 0A46 mov r2, r1 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1766 .loc 1 1862 3 is_stmt 1 view .LVU507 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1767 .loc 1 1864 3 view .LVU508 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1768 .loc 1 1864 6 is_stmt 0 view .LVU509 1769 0006 11F0800F tst r1, #128 1770 000a 20D1 bne .L131 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1771 .loc 1 1871 5 is_stmt 1 view .LVU510 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1772 .loc 1 1871 32 is_stmt 0 view .LVU511 1773 000c 01F00F00 and r0, r1, #15 1774 .LVL156: 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1775 .loc 1 1871 8 view .LVU512 1776 0010 00EBC003 add r3, r0, r0, lsl #3 1777 0014 9B00 lsls r3, r3, #2 1778 0016 03F51473 add r3, r3, #592 1779 001a 2344 add r3, r3, r4 1780 001c 191D adds r1, r3, #4 1781 .LVL157: 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1782 .loc 1 1872 5 is_stmt 1 view .LVU513 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1783 .loc 1 1872 15 is_stmt 0 view .LVU514 1784 001e 00EBC000 add r0, r0, r0, lsl #3 1785 0022 04EB8000 add r0, r4, r0, lsl #2 1786 0026 0023 movs r3, #0 1787 0028 80F85532 strb r3, [r0, #597] 1788 .L127: 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1789 .loc 1 1874 3 is_stmt 1 view .LVU515 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1790 .loc 1 1874 21 is_stmt 0 view .LVU516 1791 002c 02F00F02 and r2, r2, #15 1792 .LVL158: 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1793 .loc 1 1874 11 view .LVU517 1794 0030 0A70 strb r2, [r1] 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 1795 .loc 1 1876 3 is_stmt 1 view .LVU518 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 1796 .loc 1 1876 3 view .LVU519 1797 0032 94F89434 ldrb r3, [r4, #1172] @ zero_extendqisi2 1798 0036 012B cmp r3, #1 1799 0038 18D0 beq .L129 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 1800 .loc 1 1876 3 discriminator 2 view .LVU520 1801 003a 0123 movs r3, #1 1802 003c 84F89434 strb r3, [r4, #1172] 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep); ARM GAS /tmp/ccxeXpRn.s page 81 1803 .loc 1 1876 3 discriminator 2 view .LVU521 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1804 .loc 1 1877 3 view .LVU522 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1805 .loc 1 1877 9 is_stmt 0 view .LVU523 1806 0040 2068 ldr r0, [r4] 1807 0042 FFF7FEFF bl USB_DeactivateEndpoint 1808 .LVL159: 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1809 .loc 1 1878 3 is_stmt 1 view .LVU524 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1810 .loc 1 1878 3 view .LVU525 1811 0046 0020 movs r0, #0 1812 0048 84F89404 strb r0, [r4, #1172] 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1813 .loc 1 1878 3 view .LVU526 1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1814 .loc 1 1879 3 view .LVU527 1815 .L128: 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1816 .loc 1 1880 1 is_stmt 0 view .LVU528 1817 004c 10BD pop {r4, pc} 1818 .LVL160: 1819 .L131: 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1820 .loc 1 1866 5 is_stmt 1 view .LVU529 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1821 .loc 1 1866 31 is_stmt 0 view .LVU530 1822 004e 01F00F00 and r0, r1, #15 1823 .LVL161: 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1824 .loc 1 1866 8 view .LVU531 1825 0052 00EBC003 add r3, r0, r0, lsl #3 1826 0056 9B00 lsls r3, r3, #2 1827 0058 1033 adds r3, r3, #16 1828 005a 2344 add r3, r3, r4 1829 005c 191D adds r1, r3, #4 1830 .LVL162: 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1831 .loc 1 1867 5 is_stmt 1 view .LVU532 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1832 .loc 1 1867 15 is_stmt 0 view .LVU533 1833 005e 00EBC000 add r0, r0, r0, lsl #3 1834 0062 04EB8000 add r0, r4, r0, lsl #2 1835 0066 0123 movs r3, #1 1836 0068 4375 strb r3, [r0, #21] 1837 006a DFE7 b .L127 1838 .LVL163: 1839 .L129: 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 1840 .loc 1 1876 3 discriminator 1 view .LVU534 1841 006c 0220 movs r0, #2 1842 006e EDE7 b .L128 1843 .cfi_endproc 1844 .LFE262: 1846 .section .text.HAL_PCD_EP_Receive,"ax",%progbits 1847 .align 1 ARM GAS /tmp/ccxeXpRn.s page 82 1848 .global HAL_PCD_EP_Receive 1849 .syntax unified 1850 .thumb 1851 .thumb_func 1853 HAL_PCD_EP_Receive: 1854 .LVL164: 1855 .LFB263: 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1856 .loc 1 1892 1 is_stmt 1 view -0 1857 .cfi_startproc 1858 @ args = 0, pretend = 0, frame = 0 1859 @ frame_needed = 0, uses_anonymous_args = 0 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1860 .loc 1 1892 1 is_stmt 0 view .LVU536 1861 0000 10B5 push {r4, lr} 1862 .LCFI21: 1863 .cfi_def_cfa_offset 8 1864 .cfi_offset 4, -8 1865 .cfi_offset 14, -4 1866 0002 1446 mov r4, r2 1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1867 .loc 1 1893 3 is_stmt 1 view .LVU537 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1868 .loc 1 1895 3 view .LVU538 1869 0004 01F00F0C and ip, r1, #15 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1870 .loc 1 1895 6 is_stmt 0 view .LVU539 1871 0008 0CEBCC01 add r1, ip, ip, lsl #3 1872 .LVL165: 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1873 .loc 1 1895 6 view .LVU540 1874 000c 8900 lsls r1, r1, #2 1875 000e 01F51471 add r1, r1, #592 1876 0012 0144 add r1, r1, r0 1877 0014 0431 adds r1, r1, #4 1878 .LVL166: 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_len = len; 1879 .loc 1 1898 3 is_stmt 1 view .LVU541 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_len = len; 1880 .loc 1 1898 17 is_stmt 0 view .LVU542 1881 0016 0CEBCC0E add lr, ip, ip, lsl #3 1882 001a 00EB8E0E add lr, r0, lr, lsl #2 1883 001e CEF86022 str r2, [lr, #608] 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count = 0U; 1884 .loc 1 1899 3 is_stmt 1 view .LVU543 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count = 0U; 1885 .loc 1 1899 16 is_stmt 0 view .LVU544 1886 0022 CEF86432 str r3, [lr, #612] 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1887 .loc 1 1900 3 is_stmt 1 view .LVU545 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1888 .loc 1 1900 18 is_stmt 0 view .LVU546 1889 0026 0023 movs r3, #0 1890 .LVL167: 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1891 .loc 1 1900 18 view .LVU547 1892 0028 CEF86832 str r3, [lr, #616] ARM GAS /tmp/ccxeXpRn.s page 83 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1893 .loc 1 1901 3 is_stmt 1 view .LVU548 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1894 .loc 1 1901 13 is_stmt 0 view .LVU549 1895 002c 8EF85532 strb r3, [lr, #597] 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1896 .loc 1 1902 3 is_stmt 1 view .LVU550 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1897 .loc 1 1902 11 is_stmt 0 view .LVU551 1898 0030 8EF854C2 strb ip, [lr, #596] 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1899 .loc 1 1904 3 is_stmt 1 view .LVU552 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1900 .loc 1 1904 17 is_stmt 0 view .LVU553 1901 0034 8279 ldrb r2, [r0, #6] @ zero_extendqisi2 1902 .LVL168: 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1903 .loc 1 1904 6 view .LVU554 1904 0036 012A cmp r2, #1 1905 0038 04D0 beq .L135 1906 .L133: 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1907 .loc 1 1909 3 is_stmt 1 view .LVU555 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1908 .loc 1 1909 9 is_stmt 0 view .LVU556 1909 003a 0068 ldr r0, [r0] 1910 .LVL169: 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1911 .loc 1 1909 9 view .LVU557 1912 003c FFF7FEFF bl USB_EPStartXfer 1913 .LVL170: 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1914 .loc 1 1911 3 is_stmt 1 view .LVU558 1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1915 .loc 1 1912 1 is_stmt 0 view .LVU559 1916 0040 0020 movs r0, #0 1917 0042 10BD pop {r4, pc} 1918 .LVL171: 1919 .L135: 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1920 .loc 1 1906 5 is_stmt 1 view .LVU560 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1921 .loc 1 1906 18 is_stmt 0 view .LVU561 1922 0044 CEF87042 str r4, [lr, #624] 1923 0048 F7E7 b .L133 1924 .cfi_endproc 1925 .LFE263: 1927 .section .text.HAL_PCD_EP_GetRxCount,"ax",%progbits 1928 .align 1 1929 .global HAL_PCD_EP_GetRxCount 1930 .syntax unified 1931 .thumb 1932 .thumb_func 1934 HAL_PCD_EP_GetRxCount: 1935 .LVL172: 1936 .LFB264: 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count; ARM GAS /tmp/ccxeXpRn.s page 84 1937 .loc 1 1921 1 is_stmt 1 view -0 1938 .cfi_startproc 1939 @ args = 0, pretend = 0, frame = 0 1940 @ frame_needed = 0, uses_anonymous_args = 0 1941 @ link register save eliminated. 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1942 .loc 1 1922 3 view .LVU563 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1943 .loc 1 1922 31 is_stmt 0 view .LVU564 1944 0000 01F00F01 and r1, r1, #15 1945 .LVL173: 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1946 .loc 1 1922 45 view .LVU565 1947 0004 01EBC101 add r1, r1, r1, lsl #3 1948 0008 00EB8100 add r0, r0, r1, lsl #2 1949 .LVL174: 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1950 .loc 1 1923 1 view .LVU566 1951 000c D0F86802 ldr r0, [r0, #616] 1952 0010 7047 bx lr 1953 .cfi_endproc 1954 .LFE264: 1956 .section .text.HAL_PCD_EP_Transmit,"ax",%progbits 1957 .align 1 1958 .global HAL_PCD_EP_Transmit 1959 .syntax unified 1960 .thumb 1961 .thumb_func 1963 HAL_PCD_EP_Transmit: 1964 .LVL175: 1965 .LFB265: 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1966 .loc 1 1933 1 is_stmt 1 view -0 1967 .cfi_startproc 1968 @ args = 0, pretend = 0, frame = 0 1969 @ frame_needed = 0, uses_anonymous_args = 0 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1970 .loc 1 1933 1 is_stmt 0 view .LVU568 1971 0000 10B5 push {r4, lr} 1972 .LCFI22: 1973 .cfi_def_cfa_offset 8 1974 .cfi_offset 4, -8 1975 .cfi_offset 14, -4 1976 0002 1446 mov r4, r2 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1977 .loc 1 1934 3 is_stmt 1 view .LVU569 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1978 .loc 1 1936 3 view .LVU570 1979 0004 01F00F0C and ip, r1, #15 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1980 .loc 1 1936 6 is_stmt 0 view .LVU571 1981 0008 0CEBCC01 add r1, ip, ip, lsl #3 1982 .LVL176: 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1983 .loc 1 1936 6 view .LVU572 1984 000c 8900 lsls r1, r1, #2 1985 000e 1031 adds r1, r1, #16 ARM GAS /tmp/ccxeXpRn.s page 85 1986 0010 0144 add r1, r1, r0 1987 0012 0431 adds r1, r1, #4 1988 .LVL177: 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_len = len; 1989 .loc 1 1939 3 is_stmt 1 view .LVU573 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_len = len; 1990 .loc 1 1939 17 is_stmt 0 view .LVU574 1991 0014 0CEBCC0E add lr, ip, ip, lsl #3 1992 0018 00EB8E0E add lr, r0, lr, lsl #2 1993 001c CEF82020 str r2, [lr, #32] 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count = 0U; 1994 .loc 1 1940 3 is_stmt 1 view .LVU575 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count = 0U; 1995 .loc 1 1940 16 is_stmt 0 view .LVU576 1996 0020 CEF82430 str r3, [lr, #36] 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1997 .loc 1 1941 3 is_stmt 1 view .LVU577 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1998 .loc 1 1941 18 is_stmt 0 view .LVU578 1999 0024 0023 movs r3, #0 2000 .LVL178: 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 2001 .loc 1 1941 18 view .LVU579 2002 0026 CEF82830 str r3, [lr, #40] 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 2003 .loc 1 1942 3 is_stmt 1 view .LVU580 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 2004 .loc 1 1942 13 is_stmt 0 view .LVU581 2005 002a 0123 movs r3, #1 2006 002c 8EF81530 strb r3, [lr, #21] 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2007 .loc 1 1943 3 is_stmt 1 view .LVU582 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2008 .loc 1 1943 11 is_stmt 0 view .LVU583 2009 0030 8EF814C0 strb ip, [lr, #20] 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2010 .loc 1 1945 3 is_stmt 1 view .LVU584 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2011 .loc 1 1945 17 is_stmt 0 view .LVU585 2012 0034 8279 ldrb r2, [r0, #6] @ zero_extendqisi2 2013 .LVL179: 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2014 .loc 1 1945 6 view .LVU586 2015 0036 9A42 cmp r2, r3 2016 0038 04D0 beq .L140 2017 .L138: 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2018 .loc 1 1950 3 is_stmt 1 view .LVU587 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2019 .loc 1 1950 9 is_stmt 0 view .LVU588 2020 003a 0068 ldr r0, [r0] 2021 .LVL180: 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2022 .loc 1 1950 9 view .LVU589 2023 003c FFF7FEFF bl USB_EPStartXfer 2024 .LVL181: 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccxeXpRn.s page 86 2025 .loc 1 1952 3 is_stmt 1 view .LVU590 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2026 .loc 1 1953 1 is_stmt 0 view .LVU591 2027 0040 0020 movs r0, #0 2028 0042 10BD pop {r4, pc} 2029 .LVL182: 2030 .L140: 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2031 .loc 1 1947 5 is_stmt 1 view .LVU592 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2032 .loc 1 1947 18 is_stmt 0 view .LVU593 2033 0044 CEF83040 str r4, [lr, #48] 2034 0048 F7E7 b .L138 2035 .cfi_endproc 2036 .LFE265: 2038 .section .text.HAL_PCD_EP_SetStall,"ax",%progbits 2039 .align 1 2040 .global HAL_PCD_EP_SetStall 2041 .syntax unified 2042 .thumb 2043 .thumb_func 2045 HAL_PCD_EP_SetStall: 2046 .LVL183: 2047 .LFB266: 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 2048 .loc 1 1962 1 is_stmt 1 view -0 2049 .cfi_startproc 2050 @ args = 0, pretend = 0, frame = 0 2051 @ frame_needed = 0, uses_anonymous_args = 0 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 2052 .loc 1 1962 1 is_stmt 0 view .LVU595 2053 0000 38B5 push {r3, r4, r5, lr} 2054 .LCFI23: 2055 .cfi_def_cfa_offset 16 2056 .cfi_offset 3, -16 2057 .cfi_offset 4, -12 2058 .cfi_offset 5, -8 2059 .cfi_offset 14, -4 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2060 .loc 1 1963 3 is_stmt 1 view .LVU596 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2061 .loc 1 1965 3 view .LVU597 2062 0002 01F00F05 and r5, r1, #15 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2063 .loc 1 1965 53 is_stmt 0 view .LVU598 2064 0006 0279 ldrb r2, [r0, #4] @ zero_extendqisi2 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2065 .loc 1 1965 6 view .LVU599 2066 0008 AA42 cmp r2, r5 2067 000a 38D3 bcc .L146 2068 000c 0446 mov r4, r0 2069 000e 0B46 mov r3, r1 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2070 .loc 1 1970 3 is_stmt 1 view .LVU600 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2071 .loc 1 1970 6 is_stmt 0 view .LVU601 2072 0010 11F0800F tst r1, #128 ARM GAS /tmp/ccxeXpRn.s page 87 2073 0014 1FD1 bne .L149 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 2074 .loc 1 1977 5 is_stmt 1 view .LVU602 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 2075 .loc 1 1977 8 is_stmt 0 view .LVU603 2076 0016 01EBC101 add r1, r1, r1, lsl #3 2077 .LVL184: 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 2078 .loc 1 1977 8 view .LVU604 2079 001a 8900 lsls r1, r1, #2 2080 001c 01F51471 add r1, r1, #592 2081 0020 0144 add r1, r1, r0 2082 0022 0431 adds r1, r1, #4 2083 .LVL185: 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2084 .loc 1 1978 5 is_stmt 1 view .LVU605 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2085 .loc 1 1978 15 is_stmt 0 view .LVU606 2086 0024 03EBC303 add r3, r3, r3, lsl #3 2087 .LVL186: 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2088 .loc 1 1978 15 view .LVU607 2089 0028 00EB8303 add r3, r0, r3, lsl #2 2090 002c 0022 movs r2, #0 2091 002e 83F85522 strb r2, [r3, #597] 2092 .L144: 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 2093 .loc 1 1981 3 is_stmt 1 view .LVU608 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 2094 .loc 1 1981 16 is_stmt 0 view .LVU609 2095 0032 0123 movs r3, #1 2096 0034 8B70 strb r3, [r1, #2] 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2097 .loc 1 1982 3 is_stmt 1 view .LVU610 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2098 .loc 1 1982 11 is_stmt 0 view .LVU611 2099 0036 0D70 strb r5, [r1] 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2100 .loc 1 1984 3 is_stmt 1 view .LVU612 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2101 .loc 1 1984 3 view .LVU613 2102 0038 94F89434 ldrb r3, [r4, #1172] @ zero_extendqisi2 2103 003c 012B cmp r3, #1 2104 003e 20D0 beq .L147 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2105 .loc 1 1984 3 discriminator 2 view .LVU614 2106 0040 0123 movs r3, #1 2107 0042 84F89434 strb r3, [r4, #1172] 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2108 .loc 1 1984 3 discriminator 2 view .LVU615 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2109 .loc 1 1986 3 view .LVU616 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2110 .loc 1 1986 9 is_stmt 0 view .LVU617 2111 0046 2068 ldr r0, [r4] 2112 .LVL187: 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 88 2113 .loc 1 1986 9 view .LVU618 2114 0048 FFF7FEFF bl USB_EPSetStall 2115 .LVL188: 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2116 .loc 1 1988 3 is_stmt 1 view .LVU619 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2117 .loc 1 1988 6 is_stmt 0 view .LVU620 2118 004c 85B1 cbz r5, .L150 2119 .L145: 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2120 .loc 1 1993 3 is_stmt 1 view .LVU621 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2121 .loc 1 1993 3 view .LVU622 2122 004e 0020 movs r0, #0 2123 0050 84F89404 strb r0, [r4, #1172] 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2124 .loc 1 1993 3 view .LVU623 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2125 .loc 1 1995 3 view .LVU624 2126 .LVL189: 2127 .L142: 1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2128 .loc 1 1996 1 is_stmt 0 view .LVU625 2129 0054 38BD pop {r3, r4, r5, pc} 2130 .LVL190: 2131 .L149: 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 2132 .loc 1 1972 5 is_stmt 1 view .LVU626 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 2133 .loc 1 1972 8 is_stmt 0 view .LVU627 2134 0056 05EBC501 add r1, r5, r5, lsl #3 2135 .LVL191: 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 2136 .loc 1 1972 8 view .LVU628 2137 005a 8900 lsls r1, r1, #2 2138 005c 1031 adds r1, r1, #16 2139 005e 0144 add r1, r1, r0 2140 0060 0431 adds r1, r1, #4 2141 .LVL192: 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2142 .loc 1 1973 5 is_stmt 1 view .LVU629 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2143 .loc 1 1973 15 is_stmt 0 view .LVU630 2144 0062 05EBC503 add r3, r5, r5, lsl #3 2145 .LVL193: 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2146 .loc 1 1973 15 view .LVU631 2147 0066 00EB8303 add r3, r0, r3, lsl #2 2148 006a 0122 movs r2, #1 2149 006c 5A75 strb r2, [r3, #21] 2150 006e E0E7 b .L144 2151 .LVL194: 2152 .L150: 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2153 .loc 1 1990 5 is_stmt 1 view .LVU632 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2154 .loc 1 1990 11 is_stmt 0 view .LVU633 ARM GAS /tmp/ccxeXpRn.s page 89 2155 0070 04F29C42 addw r2, r4, #1180 2156 0074 A179 ldrb r1, [r4, #6] @ zero_extendqisi2 2157 0076 2068 ldr r0, [r4] 2158 0078 FFF7FEFF bl USB_EP0_OutStart 2159 .LVL195: 2160 007c E7E7 b .L145 2161 .LVL196: 2162 .L146: 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2163 .loc 1 1967 12 view .LVU634 2164 007e 0120 movs r0, #1 2165 .LVL197: 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2166 .loc 1 1967 12 view .LVU635 2167 0080 E8E7 b .L142 2168 .LVL198: 2169 .L147: 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2170 .loc 1 1984 3 discriminator 1 view .LVU636 2171 0082 0220 movs r0, #2 2172 .LVL199: 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2173 .loc 1 1984 3 discriminator 1 view .LVU637 2174 0084 E6E7 b .L142 2175 .cfi_endproc 2176 .LFE266: 2178 .section .text.HAL_PCD_EP_ClrStall,"ax",%progbits 2179 .align 1 2180 .global HAL_PCD_EP_ClrStall 2181 .syntax unified 2182 .thumb 2183 .thumb_func 2185 HAL_PCD_EP_ClrStall: 2186 .LVL200: 2187 .LFB267: 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 2188 .loc 1 2005 1 is_stmt 1 view -0 2189 .cfi_startproc 2190 @ args = 0, pretend = 0, frame = 0 2191 @ frame_needed = 0, uses_anonymous_args = 0 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2192 .loc 1 2006 3 view .LVU639 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2193 .loc 1 2008 3 view .LVU640 2194 0000 01F00F03 and r3, r1, #15 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2195 .loc 1 2008 47 is_stmt 0 view .LVU641 2196 0004 0279 ldrb r2, [r0, #4] @ zero_extendqisi2 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2197 .loc 1 2008 6 view .LVU642 2198 0006 9A42 cmp r2, r3 2199 0008 30D3 bcc .L155 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 2200 .loc 1 2005 1 view .LVU643 2201 000a 10B5 push {r4, lr} 2202 .LCFI24: 2203 .cfi_def_cfa_offset 8 ARM GAS /tmp/ccxeXpRn.s page 90 2204 .cfi_offset 4, -8 2205 .cfi_offset 14, -4 2206 000c 0446 mov r4, r0 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2207 .loc 1 2013 3 is_stmt 1 view .LVU644 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2208 .loc 1 2013 6 is_stmt 0 view .LVU645 2209 000e 11F0800F tst r1, #128 2210 0012 1ED1 bne .L161 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 2211 .loc 1 2020 5 is_stmt 1 view .LVU646 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 2212 .loc 1 2020 8 is_stmt 0 view .LVU647 2213 0014 03EBC301 add r1, r3, r3, lsl #3 2214 .LVL201: 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 2215 .loc 1 2020 8 view .LVU648 2216 0018 8900 lsls r1, r1, #2 2217 001a 01F51471 add r1, r1, #592 2218 001e 0144 add r1, r1, r0 2219 0020 0431 adds r1, r1, #4 2220 .LVL202: 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2221 .loc 1 2021 5 is_stmt 1 view .LVU649 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2222 .loc 1 2021 15 is_stmt 0 view .LVU650 2223 0022 03EBC302 add r2, r3, r3, lsl #3 2224 0026 00EB8202 add r2, r0, r2, lsl #2 2225 002a 0020 movs r0, #0 2226 .LVL203: 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2227 .loc 1 2021 15 view .LVU651 2228 002c 82F85502 strb r0, [r2, #597] 2229 .L154: 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 2230 .loc 1 2024 3 is_stmt 1 view .LVU652 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 2231 .loc 1 2024 16 is_stmt 0 view .LVU653 2232 0030 0022 movs r2, #0 2233 0032 8A70 strb r2, [r1, #2] 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2234 .loc 1 2025 3 is_stmt 1 view .LVU654 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2235 .loc 1 2025 11 is_stmt 0 view .LVU655 2236 0034 0B70 strb r3, [r1] 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep); 2237 .loc 1 2027 3 is_stmt 1 view .LVU656 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep); 2238 .loc 1 2027 3 view .LVU657 2239 0036 94F89434 ldrb r3, [r4, #1172] @ zero_extendqisi2 2240 003a 012B cmp r3, #1 2241 003c 18D0 beq .L156 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep); 2242 .loc 1 2027 3 discriminator 2 view .LVU658 2243 003e 0123 movs r3, #1 2244 0040 84F89434 strb r3, [r4, #1172] 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep); ARM GAS /tmp/ccxeXpRn.s page 91 2245 .loc 1 2027 3 discriminator 2 view .LVU659 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 2246 .loc 1 2028 3 view .LVU660 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 2247 .loc 1 2028 9 is_stmt 0 view .LVU661 2248 0044 2068 ldr r0, [r4] 2249 0046 FFF7FEFF bl USB_EPClearStall 2250 .LVL204: 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2251 .loc 1 2029 3 is_stmt 1 view .LVU662 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2252 .loc 1 2029 3 view .LVU663 2253 004a 0020 movs r0, #0 2254 004c 84F89404 strb r0, [r4, #1172] 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2255 .loc 1 2029 3 view .LVU664 2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2256 .loc 1 2031 3 view .LVU665 2257 .L152: 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2258 .loc 1 2032 1 is_stmt 0 view .LVU666 2259 0050 10BD pop {r4, pc} 2260 .LVL205: 2261 .L161: 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 2262 .loc 1 2015 5 is_stmt 1 view .LVU667 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 2263 .loc 1 2015 8 is_stmt 0 view .LVU668 2264 0052 03EBC301 add r1, r3, r3, lsl #3 2265 .LVL206: 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 2266 .loc 1 2015 8 view .LVU669 2267 0056 8900 lsls r1, r1, #2 2268 0058 1031 adds r1, r1, #16 2269 005a 0144 add r1, r1, r0 2270 005c 0431 adds r1, r1, #4 2271 .LVL207: 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2272 .loc 1 2016 5 is_stmt 1 view .LVU670 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2273 .loc 1 2016 15 is_stmt 0 view .LVU671 2274 005e 03EBC302 add r2, r3, r3, lsl #3 2275 0062 00EB8202 add r2, r0, r2, lsl #2 2276 0066 0120 movs r0, #1 2277 .LVL208: 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2278 .loc 1 2016 15 view .LVU672 2279 0068 5075 strb r0, [r2, #21] 2280 006a E1E7 b .L154 2281 .LVL209: 2282 .L155: 2283 .LCFI25: 2284 .cfi_def_cfa_offset 0 2285 .cfi_restore 4 2286 .cfi_restore 14 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2287 .loc 1 2010 12 view .LVU673 ARM GAS /tmp/ccxeXpRn.s page 92 2288 006c 0120 movs r0, #1 2289 .LVL210: 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2290 .loc 1 2032 1 view .LVU674 2291 006e 7047 bx lr 2292 .LVL211: 2293 .L156: 2294 .LCFI26: 2295 .cfi_def_cfa_offset 8 2296 .cfi_offset 4, -8 2297 .cfi_offset 14, -4 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep); 2298 .loc 1 2027 3 discriminator 1 view .LVU675 2299 0070 0220 movs r0, #2 2300 0072 EDE7 b .L152 2301 .cfi_endproc 2302 .LFE267: 2304 .section .text.HAL_PCD_EP_Abort,"ax",%progbits 2305 .align 1 2306 .global HAL_PCD_EP_Abort 2307 .syntax unified 2308 .thumb 2309 .thumb_func 2311 HAL_PCD_EP_Abort: 2312 .LVL212: 2313 .LFB268: 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef ret; 2314 .loc 1 2041 1 is_stmt 1 view -0 2315 .cfi_startproc 2316 @ args = 0, pretend = 0, frame = 0 2317 @ frame_needed = 0, uses_anonymous_args = 0 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef ret; 2318 .loc 1 2041 1 is_stmt 0 view .LVU677 2319 0000 08B5 push {r3, lr} 2320 .LCFI27: 2321 .cfi_def_cfa_offset 8 2322 .cfi_offset 3, -8 2323 .cfi_offset 14, -4 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 2324 .loc 1 2042 3 is_stmt 1 view .LVU678 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2325 .loc 1 2043 3 view .LVU679 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2326 .loc 1 2045 3 view .LVU680 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2327 .loc 1 2045 6 is_stmt 0 view .LVU681 2328 0002 11F0800F tst r1, #128 2329 0006 0CD1 bne .L166 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2330 .loc 1 2051 5 is_stmt 1 view .LVU682 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2331 .loc 1 2051 32 is_stmt 0 view .LVU683 2332 0008 01F00F01 and r1, r1, #15 2333 .LVL213: 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2334 .loc 1 2051 8 view .LVU684 2335 000c 01EBC101 add r1, r1, r1, lsl #3 ARM GAS /tmp/ccxeXpRn.s page 93 2336 0010 8900 lsls r1, r1, #2 2337 0012 01F51471 add r1, r1, #592 2338 0016 0144 add r1, r1, r0 2339 0018 0431 adds r1, r1, #4 2340 .LVL214: 2341 .L164: 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2342 .loc 1 2055 3 is_stmt 1 view .LVU685 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2343 .loc 1 2055 9 is_stmt 0 view .LVU686 2344 001a 0068 ldr r0, [r0] 2345 .LVL215: 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2346 .loc 1 2055 9 view .LVU687 2347 001c FFF7FEFF bl USB_EPStopXfer 2348 .LVL216: 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2349 .loc 1 2057 3 is_stmt 1 view .LVU688 2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2350 .loc 1 2058 1 is_stmt 0 view .LVU689 2351 0020 08BD pop {r3, pc} 2352 .LVL217: 2353 .L166: 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2354 .loc 1 2047 5 is_stmt 1 view .LVU690 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2355 .loc 1 2047 31 is_stmt 0 view .LVU691 2356 0022 01F00F01 and r1, r1, #15 2357 .LVL218: 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2358 .loc 1 2047 8 view .LVU692 2359 0026 01EBC101 add r1, r1, r1, lsl #3 2360 002a 8900 lsls r1, r1, #2 2361 002c 1031 adds r1, r1, #16 2362 002e 0144 add r1, r1, r0 2363 0030 0431 adds r1, r1, #4 2364 .LVL219: 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2365 .loc 1 2047 8 view .LVU693 2366 0032 F2E7 b .L164 2367 .cfi_endproc 2368 .LFE268: 2370 .section .text.HAL_PCD_IRQHandler,"ax",%progbits 2371 .align 1 2372 .global HAL_PCD_IRQHandler 2373 .syntax unified 2374 .thumb 2375 .thumb_func 2377 HAL_PCD_IRQHandler: 2378 .LVL220: 2379 .LFB245: 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 2380 .loc 1 1069 1 is_stmt 1 view -0 2381 .cfi_startproc 2382 @ args = 0, pretend = 0, frame = 8 2383 @ frame_needed = 0, uses_anonymous_args = 0 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; ARM GAS /tmp/ccxeXpRn.s page 94 2384 .loc 1 1069 1 is_stmt 0 view .LVU695 2385 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 2386 .LCFI28: 2387 .cfi_def_cfa_offset 36 2388 .cfi_offset 4, -36 2389 .cfi_offset 5, -32 2390 .cfi_offset 6, -28 2391 .cfi_offset 7, -24 2392 .cfi_offset 8, -20 2393 .cfi_offset 9, -16 2394 .cfi_offset 10, -12 2395 .cfi_offset 11, -8 2396 .cfi_offset 14, -4 2397 0004 83B0 sub sp, sp, #12 2398 .LCFI29: 2399 .cfi_def_cfa_offset 48 2400 0006 0446 mov r4, r0 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2401 .loc 1 1070 3 is_stmt 1 view .LVU696 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t USBx_BASE = (uint32_t)USBx; 2402 .loc 1 1070 26 is_stmt 0 view .LVU697 2403 0008 0568 ldr r5, [r0] 2404 .LVL221: 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_EPTypeDef *ep; 2405 .loc 1 1071 3 is_stmt 1 view .LVU698 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t i; 2406 .loc 1 1072 3 view .LVU699 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t ep_intr; 2407 .loc 1 1073 3 view .LVU700 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t epint; 2408 .loc 1 1074 3 view .LVU701 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t epnum; 2409 .loc 1 1075 3 view .LVU702 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t fifoemptymsk; 2410 .loc 1 1076 3 view .LVU703 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t RegVal; 2411 .loc 1 1077 3 view .LVU704 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2412 .loc 1 1078 3 view .LVU705 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2413 .loc 1 1081 3 view .LVU706 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2414 .loc 1 1081 7 is_stmt 0 view .LVU707 2415 000a 2846 mov r0, r5 2416 .LVL222: 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2417 .loc 1 1081 7 view .LVU708 2418 000c FFF7FEFF bl USB_GetMode 2419 .LVL223: 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2420 .loc 1 1081 6 discriminator 1 view .LVU709 2421 0010 10B1 cbz r0, .L225 2422 .LVL224: 2423 .L167: 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2424 .loc 1 1524 1 view .LVU710 2425 0012 03B0 add sp, sp, #12 ARM GAS /tmp/ccxeXpRn.s page 95 2426 .LCFI30: 2427 .cfi_remember_state 2428 .cfi_def_cfa_offset 36 2429 @ sp needed 2430 0014 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 2431 .LVL225: 2432 .L225: 2433 .LCFI31: 2434 .cfi_restore_state 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2435 .loc 1 1524 1 view .LVU711 2436 0018 0646 mov r6, r0 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2437 .loc 1 1084 5 is_stmt 1 view .LVU712 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2438 .loc 1 1084 9 is_stmt 0 view .LVU713 2439 001a 2068 ldr r0, [r4] 2440 001c FFF7FEFF bl USB_ReadInterrupts 2441 .LVL226: 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2442 .loc 1 1084 8 discriminator 1 view .LVU714 2443 0020 0028 cmp r0, #0 2444 0022 F6D0 beq .L167 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2445 .loc 1 1090 5 is_stmt 1 view .LVU715 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2446 .loc 1 1090 26 is_stmt 0 view .LVU716 2447 0024 05F50067 add r7, r5, #2048 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2448 .loc 1 1090 37 view .LVU717 2449 0028 BB68 ldr r3, [r7, #8] 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2450 .loc 1 1090 70 view .LVU718 2451 002a C3F30D23 ubfx r3, r3, #8, #14 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2452 .loc 1 1090 23 view .LVU719 2453 002e C4F8D434 str r3, [r4, #1236] 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2454 .loc 1 1092 5 is_stmt 1 view .LVU720 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2455 .loc 1 1092 9 is_stmt 0 view .LVU721 2456 0032 2068 ldr r0, [r4] 2457 0034 FFF7FEFF bl USB_ReadInterrupts 2458 .LVL227: 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2459 .loc 1 1092 8 discriminator 1 view .LVU722 2460 0038 10F0020F tst r0, #2 2461 003c 04D0 beq .L169 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2462 .loc 1 1095 7 is_stmt 1 view .LVU723 2463 003e 2268 ldr r2, [r4] 2464 0040 5369 ldr r3, [r2, #20] 2465 0042 03F00203 and r3, r3, #2 2466 0046 5361 str r3, [r2, #20] 2467 .L169: 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2468 .loc 1 1099 5 view .LVU724 ARM GAS /tmp/ccxeXpRn.s page 96 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2469 .loc 1 1099 9 is_stmt 0 view .LVU725 2470 0048 2068 ldr r0, [r4] 2471 004a FFF7FEFF bl USB_ReadInterrupts 2472 .LVL228: 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2473 .loc 1 1099 8 discriminator 1 view .LVU726 2474 004e 10F0100F tst r0, #16 2475 0052 15D0 beq .L170 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2476 .loc 1 1101 7 is_stmt 1 view .LVU727 2477 0054 2268 ldr r2, [r4] 2478 0056 9369 ldr r3, [r2, #24] 2479 0058 23F01003 bic r3, r3, #16 2480 005c 9361 str r3, [r2, #24] 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2481 .loc 1 1103 7 view .LVU728 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2482 .loc 1 1103 14 is_stmt 0 view .LVU729 2483 005e D5F82080 ldr r8, [r5, #32] 2484 .LVL229: 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2485 .loc 1 1105 7 is_stmt 1 view .LVU730 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2486 .loc 1 1105 33 is_stmt 0 view .LVU731 2487 0062 08F00F09 and r9, r8, #15 2488 .LVL230: 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2489 .loc 1 1107 7 is_stmt 1 view .LVU732 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2490 .loc 1 1107 53 is_stmt 0 view .LVU733 2491 0066 08F4F013 and r3, r8, #1966080 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2492 .loc 1 1107 10 view .LVU734 2493 006a B3F5802F cmp r3, #262144 2494 006e 4CD0 beq .L226 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2495 .loc 1 1118 12 is_stmt 1 view .LVU735 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2496 .loc 1 1118 15 is_stmt 0 view .LVU736 2497 0070 B3F5402F cmp r3, #786432 2498 0074 6FD0 beq .L227 2499 .LVL231: 2500 .L172: 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2501 .loc 1 1126 7 is_stmt 1 view .LVU737 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2502 .loc 1 1128 7 view .LVU738 2503 0076 2268 ldr r2, [r4] 2504 0078 9369 ldr r3, [r2, #24] 2505 007a 43F01003 orr r3, r3, #16 2506 007e 9361 str r3, [r2, #24] 2507 .LVL232: 2508 .L170: 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2509 .loc 1 1131 5 view .LVU739 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { ARM GAS /tmp/ccxeXpRn.s page 97 2510 .loc 1 1131 9 is_stmt 0 view .LVU740 2511 0080 2068 ldr r0, [r4] 2512 0082 FFF7FEFF bl USB_ReadInterrupts 2513 .LVL233: 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2514 .loc 1 1131 8 discriminator 1 view .LVU741 2515 0086 10F4002F tst r0, #524288 2516 008a 76D1 bne .L228 2517 .L173: 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2518 .loc 1 1203 5 is_stmt 1 view .LVU742 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2519 .loc 1 1203 9 is_stmt 0 view .LVU743 2520 008c 2068 ldr r0, [r4] 2521 008e FFF7FEFF bl USB_ReadInterrupts 2522 .LVL234: 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2523 .loc 1 1203 8 discriminator 1 view .LVU744 2524 0092 10F4802F tst r0, #262144 2525 0096 40F0E080 bne .L229 2526 .L184: 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2527 .loc 1 1283 5 is_stmt 1 view .LVU745 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2528 .loc 1 1283 9 is_stmt 0 view .LVU746 2529 009a 2068 ldr r0, [r4] 2530 009c FFF7FEFF bl USB_ReadInterrupts 2531 .LVL235: 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2532 .loc 1 1283 8 discriminator 1 view .LVU747 2533 00a0 0028 cmp r0, #0 2534 00a2 C0F26181 blt .L230 2535 .L195: 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2536 .loc 1 1311 5 is_stmt 1 view .LVU748 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2537 .loc 1 1311 9 is_stmt 0 view .LVU749 2538 00a6 2068 ldr r0, [r4] 2539 00a8 FFF7FEFF bl USB_ReadInterrupts 2540 .LVL236: 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2541 .loc 1 1311 8 discriminator 1 view .LVU750 2542 00ac 10F4006F tst r0, #2048 2543 00b0 09D0 beq .L198 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2544 .loc 1 1313 7 is_stmt 1 view .LVU751 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2545 .loc 1 1313 23 is_stmt 0 view .LVU752 2546 00b2 BB68 ldr r3, [r7, #8] 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2547 .loc 1 1313 10 view .LVU753 2548 00b4 13F0010F tst r3, #1 2549 00b8 40F06E81 bne .L231 2550 .L199: 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2551 .loc 1 1321 7 is_stmt 1 view .LVU754 2552 00bc 2268 ldr r2, [r4] ARM GAS /tmp/ccxeXpRn.s page 98 2553 00be 5369 ldr r3, [r2, #20] 2554 00c0 03F40063 and r3, r3, #2048 2555 00c4 5361 str r3, [r2, #20] 2556 .L198: 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2557 .loc 1 1355 5 view .LVU755 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2558 .loc 1 1355 9 is_stmt 0 view .LVU756 2559 00c6 2068 ldr r0, [r4] 2560 00c8 FFF7FEFF bl USB_ReadInterrupts 2561 .LVL237: 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2562 .loc 1 1355 8 discriminator 1 view .LVU757 2563 00cc 10F4805F tst r0, #4096 2564 00d0 40F06681 bne .L232 2565 .L200: 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2566 .loc 1 1404 5 is_stmt 1 view .LVU758 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2567 .loc 1 1404 9 is_stmt 0 view .LVU759 2568 00d4 2068 ldr r0, [r4] 2569 00d6 FFF7FEFF bl USB_ReadInterrupts 2570 .LVL238: 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2571 .loc 1 1404 8 discriminator 1 view .LVU760 2572 00da 10F4005F tst r0, #8192 2573 00de 40F0B381 bne .L233 2574 .L205: 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2575 .loc 1 1424 5 is_stmt 1 view .LVU761 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2576 .loc 1 1424 9 is_stmt 0 view .LVU762 2577 00e2 2068 ldr r0, [r4] 2578 00e4 FFF7FEFF bl USB_ReadInterrupts 2579 .LVL239: 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2580 .loc 1 1424 8 discriminator 1 view .LVU763 2581 00e8 10F0080F tst r0, #8 2582 00ec 40F0C481 bne .L234 2583 .L206: 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2584 .loc 1 1436 5 is_stmt 1 view .LVU764 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2585 .loc 1 1436 9 is_stmt 0 view .LVU765 2586 00f0 2068 ldr r0, [r4] 2587 00f2 FFF7FEFF bl USB_ReadInterrupts 2588 .LVL240: 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2589 .loc 1 1436 8 discriminator 1 view .LVU766 2590 00f6 10F0800F tst r0, #128 2591 00fa 00F0D781 beq .L207 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2592 .loc 1 1438 7 is_stmt 1 view .LVU767 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2593 .loc 1 1438 11 is_stmt 0 view .LVU768 2594 00fe AB69 ldr r3, [r5, #24] 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 99 2595 .loc 1 1438 21 view .LVU769 2596 0100 23F08003 bic r3, r3, #128 2597 0104 AB61 str r3, [r5, #24] 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2598 .loc 1 1440 7 is_stmt 1 view .LVU770 2599 .LVL241: 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2600 .loc 1 1440 18 is_stmt 0 view .LVU771 2601 0106 0126 movs r6, #1 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2602 .loc 1 1440 7 view .LVU772 2603 0108 C0E1 b .L208 2604 .LVL242: 2605 .L226: 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2606 .loc 1 1109 9 is_stmt 1 view .LVU773 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2607 .loc 1 1109 12 is_stmt 0 view .LVU774 2608 010a 47F6F073 movw r3, #32752 2609 010e 18EA030F tst r8, r3 2610 0112 B0D0 beq .L172 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint16_t)((RegVal & USB_OTG_GRXSTSP_BCNT) >> 4)); 2611 .loc 1 1111 11 is_stmt 1 view .LVU775 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2612 .loc 1 1112 75 is_stmt 0 view .LVU776 2613 0114 4FEA181A lsr r10, r8, #4 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint16_t)((RegVal & USB_OTG_GRXSTSP_BCNT) >> 4)); 2614 .loc 1 1111 17 view .LVU777 2615 0118 4FEAC903 lsl r3, r9, #3 2616 011c 0193 str r3, [sp, #4] 2617 011e 09EBC90B add fp, r9, r9, lsl #3 2618 0122 04EB8B0B add fp, r4, fp, lsl #2 2619 0126 C8F30A12 ubfx r2, r8, #4, #11 2620 012a DBF86012 ldr r1, [fp, #608] 2621 012e 2846 mov r0, r5 2622 0130 FFF7FEFF bl USB_ReadPacket 2623 .LVL243: 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; 2624 .loc 1 1114 11 is_stmt 1 view .LVU778 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; 2625 .loc 1 1114 13 is_stmt 0 view .LVU779 2626 0134 DBF86032 ldr r3, [fp, #608] 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; 2627 .loc 1 1114 60 view .LVU780 2628 0138 CAF30A0A ubfx r10, r10, #0, #11 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; 2629 .loc 1 1114 25 view .LVU781 2630 013c 5344 add r3, r3, r10 2631 013e CBF86032 str r3, [fp, #608] 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2632 .loc 1 1115 11 is_stmt 1 view .LVU782 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2633 .loc 1 1115 13 is_stmt 0 view .LVU783 2634 0142 DBF86832 ldr r3, [fp, #616] 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2635 .loc 1 1115 26 view .LVU784 2636 0146 019A ldr r2, [sp, #4] ARM GAS /tmp/ccxeXpRn.s page 100 2637 0148 4A44 add r2, r2, r9 2638 014a 04EB8202 add r2, r4, r2, lsl #2 2639 014e 5344 add r3, r3, r10 2640 0150 C2F86832 str r3, [r2, #616] 2641 0154 8FE7 b .L172 2642 .L227: 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; 2643 .loc 1 1120 9 is_stmt 1 view .LVU785 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count += (RegVal & USB_OTG_GRXSTSP_BCNT) >> 4; 2644 .loc 1 1120 15 is_stmt 0 view .LVU786 2645 0156 0822 movs r2, #8 2646 0158 04F29C41 addw r1, r4, #1180 2647 015c 2846 mov r0, r5 2648 015e FFF7FEFF bl USB_ReadPacket 2649 .LVL244: 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2650 .loc 1 1121 9 is_stmt 1 view .LVU787 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2651 .loc 1 1121 11 is_stmt 0 view .LVU788 2652 0162 09EBC903 add r3, r9, r9, lsl #3 2653 0166 04EB8303 add r3, r4, r3, lsl #2 2654 016a D3F86822 ldr r2, [r3, #616] 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2655 .loc 1 1121 59 view .LVU789 2656 016e C8F30A18 ubfx r8, r8, #4, #11 2657 .LVL245: 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2658 .loc 1 1121 24 view .LVU790 2659 0172 4244 add r2, r2, r8 2660 0174 C3F86822 str r2, [r3, #616] 2661 0178 7DE7 b .L172 2662 .LVL246: 2663 .L228: 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2664 .loc 1 1133 7 is_stmt 1 view .LVU791 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2665 .loc 1 1136 7 view .LVU792 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2666 .loc 1 1136 17 is_stmt 0 view .LVU793 2667 017a 2068 ldr r0, [r4] 2668 017c FFF7FEFF bl USB_ReadDevAllOutEpInterrupt 2669 .LVL247: 2670 0180 8046 mov r8, r0 2671 .LVL248: 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2672 .loc 1 1138 7 is_stmt 1 view .LVU794 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2673 .loc 1 1133 13 is_stmt 0 view .LVU795 2674 0182 B146 mov r9, r6 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2675 .loc 1 1138 13 view .LVU796 2676 0184 35E0 b .L174 2677 .LVL249: 2678 .L236: 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)PCD_EP_OutXfrComplete_int(hpcd, epnum); 2679 .loc 1 1146 13 is_stmt 1 view .LVU797 2680 0186 05EB4913 add r3, r5, r9, lsl #5 ARM GAS /tmp/ccxeXpRn.s page 101 2681 018a 0122 movs r2, #1 2682 018c C3F8082B str r2, [r3, #2824] 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2683 .loc 1 1147 13 view .LVU798 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2684 .loc 1 1147 19 is_stmt 0 view .LVU799 2685 0190 4946 mov r1, r9 2686 0192 2046 mov r0, r4 2687 .LVL250: 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2688 .loc 1 1147 19 view .LVU800 2689 0194 FFF7FEFF bl PCD_EP_OutXfrComplete_int 2690 .LVL251: 2691 0198 3CE0 b .L176 2692 .L237: 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Class B setup phase done for previous decoded setup */ 2693 .loc 1 1152 13 is_stmt 1 view .LVU801 2694 019a 05EB4913 add r3, r5, r9, lsl #5 2695 019e 0822 movs r2, #8 2696 01a0 C3F8082B str r2, [r3, #2824] 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2697 .loc 1 1154 13 view .LVU802 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2698 .loc 1 1154 19 is_stmt 0 view .LVU803 2699 01a4 4946 mov r1, r9 2700 01a6 2046 mov r0, r4 2701 01a8 FFF7FEFF bl PCD_EP_OutSetupPacket_int 2702 .LVL252: 2703 01ac 35E0 b .L177 2704 .L180: 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2705 .loc 1 1170 13 is_stmt 1 view .LVU804 2706 .LVL253: 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2707 .loc 1 1172 13 view .LVU805 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2708 .loc 1 1172 19 is_stmt 0 view .LVU806 2709 01ae 09EBC903 add r3, r9, r9, lsl #3 2710 01b2 04EB8303 add r3, r4, r3, lsl #2 2711 01b6 93F85732 ldrb r3, [r3, #599] @ zero_extendqisi2 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2712 .loc 1 1172 16 view .LVU807 2713 01ba 012B cmp r3, #1 2714 01bc 41D0 beq .L235 2715 .L181: 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2716 .loc 1 1183 13 is_stmt 1 view .LVU808 2717 01be 05EB4913 add r3, r5, r9, lsl #5 2718 01c2 0222 movs r2, #2 2719 01c4 C3F8082B str r2, [r3, #2824] 2720 .LVL254: 2721 .L179: 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2722 .loc 1 1187 11 view .LVU809 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2723 .loc 1 1187 14 is_stmt 0 view .LVU810 2724 01c8 1AF0200F tst r10, #32 ARM GAS /tmp/ccxeXpRn.s page 102 2725 01cc 04D0 beq .L182 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2726 .loc 1 1189 13 is_stmt 1 view .LVU811 2727 01ce 05EB4913 add r3, r5, r9, lsl #5 2728 01d2 2022 movs r2, #32 2729 01d4 C3F8082B str r2, [r3, #2824] 2730 .L182: 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2731 .loc 1 1193 11 view .LVU812 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2732 .loc 1 1193 14 is_stmt 0 view .LVU813 2733 01d8 1AF4005F tst r10, #8192 2734 01dc 05D0 beq .L175 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2735 .loc 1 1195 13 is_stmt 1 view .LVU814 2736 01de 05EB4913 add r3, r5, r9, lsl #5 2737 01e2 4FF40052 mov r2, #8192 2738 01e6 C3F8082B str r2, [r3, #2824] 2739 .LVL255: 2740 .L175: 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr >>= 1U; 2741 .loc 1 1198 9 view .LVU815 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr >>= 1U; 2742 .loc 1 1198 14 is_stmt 0 view .LVU816 2743 01ea 09F10109 add r9, r9, #1 2744 .LVL256: 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2745 .loc 1 1199 9 is_stmt 1 view .LVU817 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2746 .loc 1 1199 17 is_stmt 0 view .LVU818 2747 01ee 4FEA5808 lsr r8, r8, #1 2748 .LVL257: 2749 .L174: 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2750 .loc 1 1138 22 is_stmt 1 view .LVU819 2751 01f2 B8F1000F cmp r8, #0 2752 01f6 3FF449AF beq .L173 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2753 .loc 1 1140 9 view .LVU820 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2754 .loc 1 1140 12 is_stmt 0 view .LVU821 2755 01fa 18F0010F tst r8, #1 2756 01fe F4D0 beq .L175 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2757 .loc 1 1142 11 is_stmt 1 view .LVU822 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2758 .loc 1 1142 19 is_stmt 0 view .LVU823 2759 0200 5FFA89FB uxtb fp, r9 2760 0204 5946 mov r1, fp 2761 0206 2068 ldr r0, [r4] 2762 0208 FFF7FEFF bl USB_ReadDevOutEPInterrupt 2763 .LVL258: 2764 020c 8246 mov r10, r0 2765 .LVL259: 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2766 .loc 1 1144 11 is_stmt 1 view .LVU824 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { ARM GAS /tmp/ccxeXpRn.s page 103 2767 .loc 1 1144 14 is_stmt 0 view .LVU825 2768 020e 10F0010F tst r0, #1 2769 0212 B8D1 bne .L236 2770 .LVL260: 2771 .L176: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2772 .loc 1 1150 11 is_stmt 1 view .LVU826 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2773 .loc 1 1150 14 is_stmt 0 view .LVU827 2774 0214 1AF0080F tst r10, #8 2775 0218 BFD1 bne .L237 2776 .L177: 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2777 .loc 1 1157 11 is_stmt 1 view .LVU828 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2778 .loc 1 1157 14 is_stmt 0 view .LVU829 2779 021a 1AF0100F tst r10, #16 2780 021e 04D0 beq .L178 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2781 .loc 1 1159 13 is_stmt 1 view .LVU830 2782 0220 05EB4913 add r3, r5, r9, lsl #5 2783 0224 1022 movs r2, #16 2784 0226 C3F8082B str r2, [r3, #2824] 2785 .L178: 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2786 .loc 1 1163 11 view .LVU831 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2787 .loc 1 1163 14 is_stmt 0 view .LVU832 2788 022a 1AF0020F tst r10, #2 2789 022e CBD0 beq .L179 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2790 .loc 1 1165 13 is_stmt 1 view .LVU833 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2791 .loc 1 1165 22 is_stmt 0 view .LVU834 2792 0230 6B69 ldr r3, [r5, #20] 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2793 .loc 1 1165 16 view .LVU835 2794 0232 13F0800F tst r3, #128 2795 0236 BAD0 beq .L180 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2796 .loc 1 1167 15 is_stmt 1 view .LVU836 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2797 .loc 1 1167 26 is_stmt 0 view .LVU837 2798 0238 7B68 ldr r3, [r7, #4] 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2799 .loc 1 1167 33 view .LVU838 2800 023a 43F48063 orr r3, r3, #1024 2801 023e 7B60 str r3, [r7, #4] 2802 0240 B5E7 b .L180 2803 .LVL261: 2804 .L235: 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2805 .loc 1 1174 15 is_stmt 1 view .LVU839 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2806 .loc 1 1174 37 is_stmt 0 view .LVU840 2807 0242 09EBC903 add r3, r9, r9, lsl #3 2808 0246 04EB8303 add r3, r4, r3, lsl #2 ARM GAS /tmp/ccxeXpRn.s page 104 2809 024a 0022 movs r2, #0 2810 024c 83F85722 strb r2, [r3, #599] 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2811 .loc 1 1179 15 is_stmt 1 view .LVU841 2812 0250 5946 mov r1, fp 2813 0252 2046 mov r0, r4 2814 0254 FFF7FEFF bl HAL_PCD_ISOOUTIncompleteCallback 2815 .LVL262: 2816 0258 B1E7 b .L181 2817 .LVL263: 2818 .L229: 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2819 .loc 1 1206 7 view .LVU842 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2820 .loc 1 1206 17 is_stmt 0 view .LVU843 2821 025a 2068 ldr r0, [r4] 2822 025c FFF7FEFF bl USB_ReadDevAllInEpInterrupt 2823 .LVL264: 2824 0260 8046 mov r8, r0 2825 .LVL265: 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2826 .loc 1 1208 7 is_stmt 1 view .LVU844 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2827 .loc 1 1210 7 view .LVU845 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2828 .loc 1 1208 13 is_stmt 0 view .LVU846 2829 0262 B146 mov r9, r6 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2830 .loc 1 1210 13 view .LVU847 2831 0264 25E0 b .L185 2832 .LVL266: 2833 .L188: 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2834 .loc 1 1238 13 is_stmt 1 view .LVU848 2835 0266 5946 mov r1, fp 2836 0268 2046 mov r0, r4 2837 026a FFF7FEFF bl HAL_PCD_DataInStageCallback 2838 .LVL267: 2839 .L187: 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2840 .loc 1 1241 11 view .LVU849 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2841 .loc 1 1241 14 is_stmt 0 view .LVU850 2842 026e 1AF0080F tst r10, #8 2843 0272 04D0 beq .L189 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2844 .loc 1 1243 13 is_stmt 1 view .LVU851 2845 0274 05EB4913 add r3, r5, r9, lsl #5 2846 0278 0822 movs r2, #8 2847 027a C3F80829 str r2, [r3, #2312] 2848 .L189: 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2849 .loc 1 1245 11 view .LVU852 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2850 .loc 1 1245 14 is_stmt 0 view .LVU853 2851 027e 1AF0100F tst r10, #16 2852 0282 04D0 beq .L190 ARM GAS /tmp/ccxeXpRn.s page 105 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2853 .loc 1 1247 13 is_stmt 1 view .LVU854 2854 0284 05EB4913 add r3, r5, r9, lsl #5 2855 0288 1022 movs r2, #16 2856 028a C3F80829 str r2, [r3, #2312] 2857 .L190: 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2858 .loc 1 1249 11 view .LVU855 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2859 .loc 1 1249 14 is_stmt 0 view .LVU856 2860 028e 1AF0400F tst r10, #64 2861 0292 04D0 beq .L191 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2862 .loc 1 1251 13 is_stmt 1 view .LVU857 2863 0294 05EB4913 add r3, r5, r9, lsl #5 2864 0298 4022 movs r2, #64 2865 029a C3F80829 str r2, [r3, #2312] 2866 .L191: 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2867 .loc 1 1253 11 view .LVU858 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2868 .loc 1 1253 14 is_stmt 0 view .LVU859 2869 029e 1AF0020F tst r10, #2 2870 02a2 40D1 bne .L238 2871 .L192: 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2872 .loc 1 1272 11 is_stmt 1 view .LVU860 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2873 .loc 1 1272 14 is_stmt 0 view .LVU861 2874 02a4 1AF0800F tst r10, #128 2875 02a8 59D1 bne .L239 2876 .LVL268: 2877 .L186: 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr >>= 1U; 2878 .loc 1 1277 9 is_stmt 1 view .LVU862 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr >>= 1U; 2879 .loc 1 1277 14 is_stmt 0 view .LVU863 2880 02aa 09F10109 add r9, r9, #1 2881 .LVL269: 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2882 .loc 1 1278 9 is_stmt 1 view .LVU864 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2883 .loc 1 1278 17 is_stmt 0 view .LVU865 2884 02ae 4FEA5808 lsr r8, r8, #1 2885 .LVL270: 2886 .L185: 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2887 .loc 1 1210 22 is_stmt 1 view .LVU866 2888 02b2 B8F1000F cmp r8, #0 2889 02b6 3FF4F0AE beq .L184 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2890 .loc 1 1212 9 view .LVU867 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2891 .loc 1 1212 12 is_stmt 0 view .LVU868 2892 02ba 18F0010F tst r8, #1 2893 02be F4D0 beq .L186 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 106 2894 .loc 1 1214 11 is_stmt 1 view .LVU869 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2895 .loc 1 1214 19 is_stmt 0 view .LVU870 2896 02c0 5FFA89FB uxtb fp, r9 2897 02c4 5946 mov r1, fp 2898 02c6 2068 ldr r0, [r4] 2899 02c8 FFF7FEFF bl USB_ReadDevInEPInterrupt 2900 .LVL271: 2901 02cc 8246 mov r10, r0 2902 .LVL272: 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2903 .loc 1 1216 11 is_stmt 1 view .LVU871 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2904 .loc 1 1216 14 is_stmt 0 view .LVU872 2905 02ce 10F0010F tst r0, #1 2906 02d2 CCD0 beq .L187 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 2907 .loc 1 1218 13 is_stmt 1 view .LVU873 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 2908 .loc 1 1218 55 is_stmt 0 view .LVU874 2909 02d4 09F00F02 and r2, r9, #15 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 2910 .loc 1 1218 26 view .LVU875 2911 02d8 0121 movs r1, #1 2912 02da 01FA02F2 lsl r2, r1, r2 2913 .LVL273: 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2914 .loc 1 1219 13 is_stmt 1 view .LVU876 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2915 .loc 1 1219 24 is_stmt 0 view .LVU877 2916 02de 7B6B ldr r3, [r7, #52] 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2917 .loc 1 1219 37 view .LVU878 2918 02e0 23EA0203 bic r3, r3, r2 2919 02e4 7B63 str r3, [r7, #52] 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2920 .loc 1 1221 13 is_stmt 1 view .LVU879 2921 02e6 05EB4913 add r3, r5, r9, lsl #5 2922 02ea C3F80819 str r1, [r3, #2312] 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2923 .loc 1 1223 13 view .LVU880 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2924 .loc 1 1223 27 is_stmt 0 view .LVU881 2925 02ee A379 ldrb r3, [r4, #6] @ zero_extendqisi2 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2926 .loc 1 1223 16 view .LVU882 2927 02f0 8B42 cmp r3, r1 2928 02f2 B8D1 bne .L188 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2929 .loc 1 1225 15 is_stmt 1 view .LVU883 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2930 .loc 1 1225 33 is_stmt 0 view .LVU884 2931 02f4 09EBC903 add r3, r9, r9, lsl #3 2932 02f8 04EB8303 add r3, r4, r3, lsl #2 2933 02fc 1A6A ldr r2, [r3, #32] 2934 .LVL274: 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 107 2935 .loc 1 1225 65 view .LVU885 2936 02fe D969 ldr r1, [r3, #28] 2937 .LVL275: 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2938 .loc 1 1225 44 view .LVU886 2939 0300 0A44 add r2, r2, r1 2940 0302 1A62 str r2, [r3, #32] 2941 .LVL276: 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2942 .loc 1 1228 15 is_stmt 1 view .LVU887 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2943 .loc 1 1228 18 is_stmt 0 view .LVU888 2944 0304 B9F1000F cmp r9, #0 2945 0308 ADD1 bne .L188 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2946 .loc 1 1228 55 discriminator 1 view .LVU889 2947 030a 09EBC903 add r3, r9, r9, lsl #3 2948 030e 04EB8303 add r3, r4, r3, lsl #2 2949 0312 5B6A ldr r3, [r3, #36] 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2950 .loc 1 1228 33 discriminator 1 view .LVU890 2951 0314 002B cmp r3, #0 2952 0316 A6D1 bne .L188 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2953 .loc 1 1231 17 is_stmt 1 view .LVU891 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2954 .loc 1 1231 23 is_stmt 0 view .LVU892 2955 0318 04F29C42 addw r2, r4, #1180 2956 031c 0121 movs r1, #1 2957 .LVL277: 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2958 .loc 1 1231 23 view .LVU893 2959 031e 2068 ldr r0, [r4] 2960 .LVL278: 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2961 .loc 1 1231 23 view .LVU894 2962 0320 FFF7FEFF bl USB_EP0_OutStart 2963 .LVL279: 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2964 .loc 1 1231 23 view .LVU895 2965 0324 9FE7 b .L188 2966 .LVL280: 2967 .L238: 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2968 .loc 1 1255 13 is_stmt 1 view .LVU896 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2969 .loc 1 1255 19 is_stmt 0 view .LVU897 2970 0326 4946 mov r1, r9 2971 0328 2846 mov r0, r5 2972 032a FFF7FEFF bl USB_FlushTxFifo 2973 .LVL281: 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2974 .loc 1 1257 13 is_stmt 1 view .LVU898 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2975 .loc 1 1259 13 view .LVU899 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2976 .loc 1 1259 19 is_stmt 0 view .LVU900 ARM GAS /tmp/ccxeXpRn.s page 108 2977 032e 09EBC903 add r3, r9, r9, lsl #3 2978 0332 04EB8303 add r3, r4, r3, lsl #2 2979 0336 DB7D ldrb r3, [r3, #23] @ zero_extendqisi2 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 2980 .loc 1 1259 16 view .LVU901 2981 0338 012B cmp r3, #1 2982 033a 05D0 beq .L240 2983 .L193: 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 2984 .loc 1 1270 13 is_stmt 1 view .LVU902 2985 033c 05EB4913 add r3, r5, r9, lsl #5 2986 0340 0222 movs r2, #2 2987 0342 C3F80829 str r2, [r3, #2312] 2988 0346 ADE7 b .L192 2989 .L240: 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2990 .loc 1 1261 15 view .LVU903 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 2991 .loc 1 1261 37 is_stmt 0 view .LVU904 2992 0348 09EBC903 add r3, r9, r9, lsl #3 2993 034c 04EB8303 add r3, r4, r3, lsl #2 2994 0350 0022 movs r2, #0 2995 0352 DA75 strb r2, [r3, #23] 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2996 .loc 1 1266 15 is_stmt 1 view .LVU905 2997 0354 5946 mov r1, fp 2998 0356 2046 mov r0, r4 2999 0358 FFF7FEFF bl HAL_PCD_ISOINIncompleteCallback 3000 .LVL282: 3001 035c EEE7 b .L193 3002 .LVL283: 3003 .L239: 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3004 .loc 1 1274 13 view .LVU906 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3005 .loc 1 1274 19 is_stmt 0 view .LVU907 3006 035e 4946 mov r1, r9 3007 0360 2046 mov r0, r4 3008 0362 FFF7FEFF bl PCD_WriteEmptyTxFifo 3009 .LVL284: 3010 0366 A0E7 b .L186 3011 .LVL285: 3012 .L230: 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3013 .loc 1 1286 7 is_stmt 1 view .LVU908 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3014 .loc 1 1286 18 is_stmt 0 view .LVU909 3015 0368 7B68 ldr r3, [r7, #4] 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3016 .loc 1 1286 25 view .LVU910 3017 036a 23F00103 bic r3, r3, #1 3018 036e 7B60 str r3, [r7, #4] 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3019 .loc 1 1288 7 is_stmt 1 view .LVU911 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3020 .loc 1 1288 15 is_stmt 0 view .LVU912 3021 0370 94F8CC34 ldrb r3, [r4, #1228] @ zero_extendqisi2 ARM GAS /tmp/ccxeXpRn.s page 109 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3022 .loc 1 1288 10 view .LVU913 3023 0374 012B cmp r3, #1 3024 0376 08D0 beq .L241 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 3025 .loc 1 1303 9 is_stmt 1 view .LVU914 3026 0378 2046 mov r0, r4 3027 037a FFF7FEFF bl HAL_PCD_ResumeCallback 3028 .LVL286: 3029 .L197: 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3030 .loc 1 1307 7 view .LVU915 3031 037e 2268 ldr r2, [r4] 3032 0380 5369 ldr r3, [r2, #20] 3033 0382 03F00043 and r3, r3, #-2147483648 3034 0386 5361 str r3, [r2, #20] 3035 0388 8DE6 b .L195 3036 .L241: 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3037 .loc 1 1290 9 view .LVU916 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3038 .loc 1 1290 25 is_stmt 0 view .LVU917 3039 038a 0021 movs r1, #0 3040 038c 84F8CC14 strb r1, [r4, #1228] 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 3041 .loc 1 1295 9 is_stmt 1 view .LVU918 3042 0390 2046 mov r0, r4 3043 0392 FFF7FEFF bl HAL_PCDEx_LPM_Callback 3044 .LVL287: 3045 0396 F2E7 b .L197 3046 .L231: 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 3047 .loc 1 1318 9 view .LVU919 3048 0398 2046 mov r0, r4 3049 039a FFF7FEFF bl HAL_PCD_SuspendCallback 3050 .LVL288: 3051 039e 8DE6 b .L199 3052 .L232: 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); 3053 .loc 1 1357 7 view .LVU920 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); 3054 .loc 1 1357 18 is_stmt 0 view .LVU921 3055 03a0 7B68 ldr r3, [r7, #4] 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); 3056 .loc 1 1357 25 view .LVU922 3057 03a2 23F00103 bic r3, r3, #1 3058 03a6 7B60 str r3, [r7, #4] 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3059 .loc 1 1358 7 is_stmt 1 view .LVU923 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3060 .loc 1 1358 13 is_stmt 0 view .LVU924 3061 03a8 1021 movs r1, #16 3062 03aa 2068 ldr r0, [r4] 3063 03ac FFF7FEFF bl USB_FlushTxFifo 3064 .LVL289: 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3065 .loc 1 1360 7 is_stmt 1 view .LVU925 ARM GAS /tmp/ccxeXpRn.s page 110 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3066 .loc 1 1360 7 is_stmt 0 view .LVU926 3067 03b0 1AE0 b .L201 3068 .LVL290: 3069 .L202: 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_INEP(i)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 3070 .loc 1 1362 9 is_stmt 1 view .LVU927 3071 03b2 05EB4613 add r3, r5, r6, lsl #5 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_INEP(i)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 3072 .loc 1 1362 31 is_stmt 0 view .LVU928 3073 03b6 4FF67F31 movw r1, #64383 3074 03ba C3F80819 str r1, [r3, #2312] 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 3075 .loc 1 1363 9 is_stmt 1 view .LVU929 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 3076 .loc 1 1363 21 is_stmt 0 view .LVU930 3077 03be D3F80029 ldr r2, [r3, #2304] 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 3078 .loc 1 1363 31 view .LVU931 3079 03c2 22F40012 bic r2, r2, #2097152 3080 03c6 C3F80029 str r2, [r3, #2304] 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 3081 .loc 1 1364 9 is_stmt 1 view .LVU932 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 3082 .loc 1 1364 32 is_stmt 0 view .LVU933 3083 03ca C3F8081B str r1, [r3, #2824] 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 3084 .loc 1 1365 9 is_stmt 1 view .LVU934 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 3085 .loc 1 1365 22 is_stmt 0 view .LVU935 3086 03ce D3F8002B ldr r2, [r3, #2816] 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 3087 .loc 1 1365 32 view .LVU936 3088 03d2 22F40012 bic r2, r2, #2097152 3089 03d6 C3F8002B str r2, [r3, #2816] 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3090 .loc 1 1366 9 is_stmt 1 view .LVU937 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3091 .loc 1 1366 22 is_stmt 0 view .LVU938 3092 03da D3F8002B ldr r2, [r3, #2816] 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3093 .loc 1 1366 32 view .LVU939 3094 03de 42F00062 orr r2, r2, #134217728 3095 03e2 C3F8002B str r2, [r3, #2816] 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3096 .loc 1 1360 51 is_stmt 1 discriminator 3 view .LVU940 3097 03e6 0136 adds r6, r6, #1 3098 .LVL291: 3099 .L201: 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3100 .loc 1 1360 22 discriminator 1 view .LVU941 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3101 .loc 1 1360 34 is_stmt 0 discriminator 1 view .LVU942 3102 03e8 2379 ldrb r3, [r4, #4] @ zero_extendqisi2 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3103 .loc 1 1360 22 discriminator 1 view .LVU943 3104 03ea B342 cmp r3, r6 ARM GAS /tmp/ccxeXpRn.s page 111 3105 03ec E1D8 bhi .L202 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3106 .loc 1 1368 7 is_stmt 1 view .LVU944 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3107 .loc 1 1368 18 is_stmt 0 view .LVU945 3108 03ee FB69 ldr r3, [r7, #28] 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3109 .loc 1 1368 29 view .LVU946 3110 03f0 43F00113 orr r3, r3, #65537 3111 03f4 FB61 str r3, [r7, #28] 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3112 .loc 1 1370 7 is_stmt 1 view .LVU947 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3113 .loc 1 1370 21 is_stmt 0 view .LVU948 3114 03f6 E37B ldrb r3, [r4, #15] @ zero_extendqisi2 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3115 .loc 1 1370 10 view .LVU949 3116 03f8 DBB1 cbz r3, .L203 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_XFRCM | 3117 .loc 1 1372 9 is_stmt 1 view .LVU950 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_XFRCM | 3118 .loc 1 1372 20 is_stmt 0 view .LVU951 3119 03fa D7F88430 ldr r3, [r7, #132] 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_XFRCM | 3120 .loc 1 1372 33 view .LVU952 3121 03fe 43F00B03 orr r3, r3, #11 3122 0402 C7F88430 str r3, [r7, #132] 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_XFRCM | 3123 .loc 1 1376 9 is_stmt 1 view .LVU953 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_XFRCM | 3124 .loc 1 1376 20 is_stmt 0 view .LVU954 3125 0406 7B6C ldr r3, [r7, #68] 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_XFRCM | 3126 .loc 1 1376 32 view .LVU955 3127 0408 43F00B03 orr r3, r3, #11 3128 040c 7B64 str r3, [r7, #68] 3129 .L204: 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3130 .loc 1 1394 7 is_stmt 1 view .LVU956 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3131 .loc 1 1394 18 is_stmt 0 view .LVU957 3132 040e D5F80038 ldr r3, [r5, #2048] 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3133 .loc 1 1394 25 view .LVU958 3134 0412 23F4FE63 bic r3, r3, #2032 3135 0416 C5F80038 str r3, [r5, #2048] 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint8_t *)hpcd->Setup); 3136 .loc 1 1397 7 is_stmt 1 view .LVU959 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint8_t *)hpcd->Setup); 3137 .loc 1 1397 13 is_stmt 0 view .LVU960 3138 041a 04F29C42 addw r2, r4, #1180 3139 041e A179 ldrb r1, [r4, #6] @ zero_extendqisi2 3140 0420 2068 ldr r0, [r4] 3141 0422 FFF7FEFF bl USB_EP0_OutStart 3142 .LVL292: 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3143 .loc 1 1400 7 is_stmt 1 view .LVU961 ARM GAS /tmp/ccxeXpRn.s page 112 3144 0426 2268 ldr r2, [r4] 3145 0428 5369 ldr r3, [r2, #20] 3146 042a 03F48053 and r3, r3, #4096 3147 042e 5361 str r3, [r2, #20] 3148 0430 50E6 b .L200 3149 .L203: 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_XFRCM | 3150 .loc 1 1382 9 view .LVU962 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_XFRCM | 3151 .loc 1 1382 20 is_stmt 0 view .LVU963 3152 0432 7B69 ldr r3, [r7, #20] 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_XFRCM | 3153 .loc 1 1382 30 view .LVU964 3154 0434 43F40053 orr r3, r3, #8192 3155 0438 43F02B03 orr r3, r3, #43 3156 043c 7B61 str r3, [r7, #20] 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_XFRCM | 3157 .loc 1 1388 9 is_stmt 1 view .LVU965 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_XFRCM | 3158 .loc 1 1388 20 is_stmt 0 view .LVU966 3159 043e 3B69 ldr r3, [r7, #16] 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_XFRCM | 3160 .loc 1 1388 30 view .LVU967 3161 0440 43F00B03 orr r3, r3, #11 3162 0444 3B61 str r3, [r7, #16] 3163 0446 E2E7 b .L204 3164 .LVL293: 3165 .L233: 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->Init.speed = USB_GetDevSpeed(hpcd->Instance); 3166 .loc 1 1406 7 is_stmt 1 view .LVU968 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->Init.speed = USB_GetDevSpeed(hpcd->Instance); 3167 .loc 1 1406 13 is_stmt 0 view .LVU969 3168 0448 2068 ldr r0, [r4] 3169 044a FFF7FEFF bl USB_ActivateSetup 3170 .LVL294: 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3171 .loc 1 1407 7 is_stmt 1 view .LVU970 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3172 .loc 1 1407 26 is_stmt 0 view .LVU971 3173 044e 2068 ldr r0, [r4] 3174 0450 FFF7FEFF bl USB_GetDevSpeed 3175 .LVL295: 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3176 .loc 1 1407 24 discriminator 1 view .LVU972 3177 0454 E071 strb r0, [r4, #7] 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_RCC_GetHCLKFreq(), 3178 .loc 1 1410 7 is_stmt 1 view .LVU973 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_RCC_GetHCLKFreq(), 3179 .loc 1 1410 39 is_stmt 0 view .LVU974 3180 0456 2668 ldr r6, [r4] 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_RCC_GetHCLKFreq(), 3181 .loc 1 1410 13 view .LVU975 3182 0458 FFF7FEFF bl HAL_RCC_GetHCLKFreq 3183 .LVL296: 3184 045c 0146 mov r1, r0 3185 045e E279 ldrb r2, [r4, #7] @ zero_extendqisi2 3186 0460 3046 mov r0, r6 ARM GAS /tmp/ccxeXpRn.s page 113 3187 0462 FFF7FEFF bl USB_SetTurnaroundTime 3188 .LVL297: 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 3189 .loc 1 1417 7 is_stmt 1 view .LVU976 3190 0466 2046 mov r0, r4 3191 0468 FFF7FEFF bl HAL_PCD_ResetCallback 3192 .LVL298: 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3193 .loc 1 1420 7 view .LVU977 3194 046c 2268 ldr r2, [r4] 3195 046e 5369 ldr r3, [r2, #20] 3196 0470 03F40053 and r3, r3, #8192 3197 0474 5361 str r3, [r2, #20] 3198 0476 34E6 b .L205 3199 .L234: 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 3200 .loc 1 1429 7 view .LVU978 3201 0478 2046 mov r0, r4 3202 047a FFF7FEFF bl HAL_PCD_SOFCallback 3203 .LVL299: 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3204 .loc 1 1432 7 view .LVU979 3205 047e 2268 ldr r2, [r4] 3206 0480 5369 ldr r3, [r2, #20] 3207 0482 03F00803 and r3, r3, #8 3208 0486 5361 str r3, [r2, #20] 3209 0488 32E6 b .L206 3210 .LVL300: 3211 .L209: 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3212 .loc 1 1440 63 discriminator 2 view .LVU980 3213 048a 0136 adds r6, r6, #1 3214 .LVL301: 3215 .L208: 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3216 .loc 1 1440 30 discriminator 1 view .LVU981 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3217 .loc 1 1440 42 is_stmt 0 discriminator 1 view .LVU982 3218 048c 2379 ldrb r3, [r4, #4] @ zero_extendqisi2 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3219 .loc 1 1440 30 discriminator 1 view .LVU983 3220 048e B342 cmp r3, r6 3221 0490 0CD9 bls .L207 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3222 .loc 1 1442 9 is_stmt 1 view .LVU984 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3223 .loc 1 1442 32 is_stmt 0 view .LVU985 3224 0492 06EBC603 add r3, r6, r6, lsl #3 3225 0496 04EB8303 add r3, r4, r3, lsl #2 3226 049a 93F85732 ldrb r3, [r3, #599] @ zero_extendqisi2 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3227 .loc 1 1442 12 view .LVU986 3228 049e 012B cmp r3, #1 3229 04a0 F3D1 bne .L209 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3230 .loc 1 1445 11 is_stmt 1 view .LVU987 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccxeXpRn.s page 114 3231 .loc 1 1445 17 is_stmt 0 view .LVU988 3232 04a2 F1B2 uxtb r1, r6 3233 04a4 2046 mov r0, r4 3234 04a6 FFF7FEFF bl HAL_PCD_EP_Abort 3235 .LVL302: 3236 04aa EEE7 b .L209 3237 .LVL303: 3238 .L207: 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3239 .loc 1 1451 5 is_stmt 1 view .LVU989 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3240 .loc 1 1451 9 is_stmt 0 view .LVU990 3241 04ac 2068 ldr r0, [r4] 3242 04ae FFF7FEFF bl USB_ReadInterrupts 3243 .LVL304: 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3244 .loc 1 1451 8 discriminator 1 view .LVU991 3245 04b2 10F4801F tst r0, #1048576 3246 04b6 25D1 bne .L222 3247 .L212: 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3248 .loc 1 1471 5 is_stmt 1 view .LVU992 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3249 .loc 1 1471 9 is_stmt 0 view .LVU993 3250 04b8 2068 ldr r0, [r4] 3251 04ba FFF7FEFF bl USB_ReadInterrupts 3252 .LVL305: 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3253 .loc 1 1471 8 discriminator 1 view .LVU994 3254 04be 10F4001F tst r0, #2097152 3255 04c2 58D0 beq .L216 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3256 .loc 1 1473 18 view .LVU995 3257 04c4 0123 movs r3, #1 3258 04c6 26E0 b .L215 3259 .LVL306: 3260 .L213: 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3261 .loc 1 1453 63 is_stmt 1 discriminator 2 view .LVU996 3262 04c8 0136 adds r6, r6, #1 3263 .LVL307: 3264 .L211: 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3265 .loc 1 1453 30 discriminator 1 view .LVU997 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3266 .loc 1 1453 42 is_stmt 0 discriminator 1 view .LVU998 3267 04ca 2379 ldrb r3, [r4, #4] @ zero_extendqisi2 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3268 .loc 1 1453 30 discriminator 1 view .LVU999 3269 04cc B342 cmp r3, r6 3270 04ce 1BD9 bls .L242 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3271 .loc 1 1455 9 is_stmt 1 view .LVU1000 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3272 .loc 1 1455 18 is_stmt 0 view .LVU1001 3273 04d0 05EB4613 add r3, r5, r6, lsl #5 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccxeXpRn.s page 115 3274 .loc 1 1455 16 view .LVU1002 3275 04d4 D3F80029 ldr r2, [r3, #2304] 3276 .LVL308: 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((RegVal & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA)) 3277 .loc 1 1457 9 is_stmt 1 view .LVU1003 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((RegVal & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA)) 3278 .loc 1 1457 32 is_stmt 0 view .LVU1004 3279 04d8 06EBC603 add r3, r6, r6, lsl #3 3280 04dc 04EB8303 add r3, r4, r3, lsl #2 3281 04e0 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((RegVal & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA)) 3282 .loc 1 1457 12 view .LVU1005 3283 04e2 012B cmp r3, #1 3284 04e4 F0D1 bne .L213 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((RegVal & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA)) 3285 .loc 1 1457 55 discriminator 1 view .LVU1006 3286 04e6 002A cmp r2, #0 3287 04e8 EEDA bge .L213 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3288 .loc 1 1460 11 is_stmt 1 view .LVU1007 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3289 .loc 1 1460 48 is_stmt 0 view .LVU1008 3290 04ea 06EBC603 add r3, r6, r6, lsl #3 3291 04ee 04EB8303 add r3, r4, r3, lsl #2 3292 04f2 0122 movs r2, #1 3293 .LVL309: 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3294 .loc 1 1460 48 view .LVU1009 3295 04f4 DA75 strb r2, [r3, #23] 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3296 .loc 1 1463 11 is_stmt 1 view .LVU1010 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3297 .loc 1 1463 17 is_stmt 0 view .LVU1011 3298 04f6 66F07F01 orn r1, r6, #127 3299 04fa C9B2 uxtb r1, r1 3300 04fc 2046 mov r0, r4 3301 04fe FFF7FEFF bl HAL_PCD_EP_Abort 3302 .LVL310: 3303 0502 E1E7 b .L213 3304 .LVL311: 3305 .L222: 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3306 .loc 1 1453 18 view .LVU1012 3307 0504 0126 movs r6, #1 3308 0506 E0E7 b .L211 3309 .LVL312: 3310 .L242: 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3311 .loc 1 1467 7 is_stmt 1 view .LVU1013 3312 0508 2268 ldr r2, [r4] 3313 050a 5369 ldr r3, [r2, #20] 3314 050c 03F48013 and r3, r3, #1048576 3315 0510 5361 str r3, [r2, #20] 3316 0512 D1E7 b .L212 3317 .LVL313: 3318 .L217: 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { ARM GAS /tmp/ccxeXpRn.s page 116 3319 .loc 1 1473 63 discriminator 2 view .LVU1014 3320 0514 0133 adds r3, r3, #1 3321 .LVL314: 3322 .L215: 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3323 .loc 1 1473 30 discriminator 1 view .LVU1015 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3324 .loc 1 1473 42 is_stmt 0 discriminator 1 view .LVU1016 3325 0516 2279 ldrb r2, [r4, #4] @ zero_extendqisi2 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3326 .loc 1 1473 30 discriminator 1 view .LVU1017 3327 0518 9A42 cmp r2, r3 3328 051a 27D9 bls .L218 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3329 .loc 1 1475 9 is_stmt 1 view .LVU1018 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3330 .loc 1 1475 18 is_stmt 0 view .LVU1019 3331 051c 05EB4312 add r2, r5, r3, lsl #5 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3332 .loc 1 1475 16 view .LVU1020 3333 0520 D2F8001B ldr r1, [r2, #2816] 3334 .LVL315: 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((RegVal & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) && 3335 .loc 1 1477 9 is_stmt 1 view .LVU1021 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((RegVal & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) && 3336 .loc 1 1477 33 is_stmt 0 view .LVU1022 3337 0524 03EBC302 add r2, r3, r3, lsl #3 3338 0528 04EB8202 add r2, r4, r2, lsl #2 3339 052c 92F85822 ldrb r2, [r2, #600] @ zero_extendqisi2 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((RegVal & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) && 3340 .loc 1 1477 12 view .LVU1023 3341 0530 012A cmp r2, #1 3342 0532 EFD1 bne .L217 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ((RegVal & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) && 3343 .loc 1 1477 56 discriminator 1 view .LVU1024 3344 0534 0029 cmp r1, #0 3345 0536 EDDA bge .L217 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3346 .loc 1 1479 55 view .LVU1025 3347 0538 D4F8D424 ldr r2, [r4, #1236] 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3348 .loc 1 1479 47 view .LVU1026 3349 053c 82EA1142 eor r2, r2, r1, lsr #16 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (((RegVal & (0x1U << 16)) >> 16U) == (hpcd->FrameNumber & 0x1U))) 3350 .loc 1 1478 73 view .LVU1027 3351 0540 12F0010F tst r2, #1 3352 0544 E6D1 bne .L217 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3353 .loc 1 1481 11 is_stmt 1 view .LVU1028 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3354 .loc 1 1481 49 is_stmt 0 view .LVU1029 3355 0546 03EBC302 add r2, r3, r3, lsl #3 3356 054a 04EB8202 add r2, r4, r2, lsl #2 3357 054e 0121 movs r1, #1 3358 .LVL316: 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3359 .loc 1 1481 49 view .LVU1030 ARM GAS /tmp/ccxeXpRn.s page 117 3360 0550 82F85712 strb r1, [r2, #599] 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3361 .loc 1 1483 11 is_stmt 1 view .LVU1031 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3362 .loc 1 1483 15 is_stmt 0 view .LVU1032 3363 0554 AA69 ldr r2, [r5, #24] 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3364 .loc 1 1483 25 view .LVU1033 3365 0556 42F08002 orr r2, r2, #128 3366 055a AA61 str r2, [r5, #24] 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3367 .loc 1 1485 11 is_stmt 1 view .LVU1034 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3368 .loc 1 1485 20 is_stmt 0 view .LVU1035 3369 055c 6A69 ldr r2, [r5, #20] 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3370 .loc 1 1485 14 view .LVU1036 3371 055e 12F0800F tst r2, #128 3372 0562 D7D1 bne .L217 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 3373 .loc 1 1487 13 is_stmt 1 view .LVU1037 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 3374 .loc 1 1487 24 is_stmt 0 view .LVU1038 3375 0564 7B68 ldr r3, [r7, #4] 3376 .LVL317: 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 3377 .loc 1 1487 31 view .LVU1039 3378 0566 43F40073 orr r3, r3, #512 3379 056a 7B60 str r3, [r7, #4] 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3380 .loc 1 1488 13 is_stmt 1 view .LVU1040 3381 .LVL318: 3382 .L218: 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3383 .loc 1 1493 7 view .LVU1041 3384 056c 2268 ldr r2, [r4] 3385 056e 5369 ldr r3, [r2, #20] 3386 0570 03F40013 and r3, r3, #2097152 3387 0574 5361 str r3, [r2, #20] 3388 .LVL319: 3389 .L216: 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3390 .loc 1 1497 5 view .LVU1042 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3391 .loc 1 1497 9 is_stmt 0 view .LVU1043 3392 0576 2068 ldr r0, [r4] 3393 0578 FFF7FEFF bl USB_ReadInterrupts 3394 .LVL320: 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3395 .loc 1 1497 8 discriminator 1 view .LVU1044 3396 057c 10F0804F tst r0, #1073741824 3397 0580 10D1 bne .L243 3398 .L220: 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3399 .loc 1 1509 5 is_stmt 1 view .LVU1045 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3400 .loc 1 1509 9 is_stmt 0 view .LVU1046 ARM GAS /tmp/ccxeXpRn.s page 118 3401 0582 2068 ldr r0, [r4] 3402 0584 FFF7FEFF bl USB_ReadInterrupts 3403 .LVL321: 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3404 .loc 1 1509 8 discriminator 1 view .LVU1047 3405 0588 10F0040F tst r0, #4 3406 058c 3FF441AD beq .L167 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3407 .loc 1 1511 7 is_stmt 1 view .LVU1048 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3408 .loc 1 1511 20 is_stmt 0 view .LVU1049 3409 0590 2368 ldr r3, [r4] 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3410 .loc 1 1511 14 view .LVU1050 3411 0592 5D68 ldr r5, [r3, #4] 3412 .LVL322: 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3413 .loc 1 1513 7 is_stmt 1 view .LVU1051 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3414 .loc 1 1513 10 is_stmt 0 view .LVU1052 3415 0594 15F0040F tst r5, #4 3416 0598 0DD1 bne .L244 3417 .L221: 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3418 .loc 1 1521 7 is_stmt 1 view .LVU1053 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3419 .loc 1 1521 11 is_stmt 0 view .LVU1054 3420 059a 2268 ldr r2, [r4] 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3421 .loc 1 1521 21 view .LVU1055 3422 059c 5368 ldr r3, [r2, #4] 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3423 .loc 1 1521 31 view .LVU1056 3424 059e 2B43 orrs r3, r3, r5 3425 05a0 5360 str r3, [r2, #4] 3426 05a2 36E5 b .L167 3427 .LVL323: 3428 .L243: 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 3429 .loc 1 1502 7 is_stmt 1 view .LVU1057 3430 05a4 2046 mov r0, r4 3431 05a6 FFF7FEFF bl HAL_PCD_ConnectCallback 3432 .LVL324: 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3433 .loc 1 1505 7 view .LVU1058 3434 05aa 2268 ldr r2, [r4] 3435 05ac 5369 ldr r3, [r2, #20] 3436 05ae 03F08043 and r3, r3, #1073741824 3437 05b2 5361 str r3, [r2, #20] 3438 05b4 E5E7 b .L220 3439 .LVL325: 3440 .L244: 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 3441 .loc 1 1518 9 view .LVU1059 3442 05b6 2046 mov r0, r4 3443 05b8 FFF7FEFF bl HAL_PCD_DisconnectCallback 3444 .LVL326: ARM GAS /tmp/ccxeXpRn.s page 119 3445 05bc EDE7 b .L221 3446 .cfi_endproc 3447 .LFE245: 3449 .section .text.HAL_PCD_EP_Flush,"ax",%progbits 3450 .align 1 3451 .global HAL_PCD_EP_Flush 3452 .syntax unified 3453 .thumb 3454 .thumb_func 3456 HAL_PCD_EP_Flush: 3457 .LVL327: 3458 .LFB269: 2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 3459 .loc 1 2067 1 view -0 3460 .cfi_startproc 3461 @ args = 0, pretend = 0, frame = 0 3462 @ frame_needed = 0, uses_anonymous_args = 0 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3463 .loc 1 2068 3 view .LVU1061 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3464 .loc 1 2068 3 view .LVU1062 3465 0000 90F89434 ldrb r3, [r0, #1172] @ zero_extendqisi2 3466 0004 012B cmp r3, #1 3467 0006 14D0 beq .L249 2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 3468 .loc 1 2067 1 is_stmt 0 view .LVU1063 3469 0008 10B5 push {r4, lr} 3470 .LCFI32: 3471 .cfi_def_cfa_offset 8 3472 .cfi_offset 4, -8 3473 .cfi_offset 14, -4 3474 000a 0446 mov r4, r0 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3475 .loc 1 2068 3 is_stmt 1 discriminator 2 view .LVU1064 3476 000c 0123 movs r3, #1 3477 000e 80F89434 strb r3, [r0, #1172] 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3478 .loc 1 2068 3 discriminator 2 view .LVU1065 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3479 .loc 1 2070 3 view .LVU1066 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3480 .loc 1 2070 6 is_stmt 0 view .LVU1067 3481 0012 11F0800F tst r1, #128 3482 0016 06D1 bne .L254 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3483 .loc 1 2076 5 is_stmt 1 view .LVU1068 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3484 .loc 1 2076 11 is_stmt 0 view .LVU1069 3485 0018 0068 ldr r0, [r0] 3486 .LVL328: 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3487 .loc 1 2076 11 view .LVU1070 3488 001a FFF7FEFF bl USB_FlushRxFifo 3489 .LVL329: 3490 .L248: 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3491 .loc 1 2079 3 is_stmt 1 view .LVU1071 ARM GAS /tmp/ccxeXpRn.s page 120 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3492 .loc 1 2079 3 view .LVU1072 3493 001e 0020 movs r0, #0 3494 0020 84F89404 strb r0, [r4, #1172] 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3495 .loc 1 2079 3 view .LVU1073 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3496 .loc 1 2081 3 view .LVU1074 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3497 .loc 1 2082 1 is_stmt 0 view .LVU1075 3498 0024 10BD pop {r4, pc} 3499 .LVL330: 3500 .L254: 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3501 .loc 1 2072 5 is_stmt 1 view .LVU1076 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3502 .loc 1 2072 11 is_stmt 0 view .LVU1077 3503 0026 01F00F01 and r1, r1, #15 3504 .LVL331: 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3505 .loc 1 2072 11 view .LVU1078 3506 002a 0068 ldr r0, [r0] 3507 .LVL332: 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3508 .loc 1 2072 11 view .LVU1079 3509 002c FFF7FEFF bl USB_FlushTxFifo 3510 .LVL333: 3511 0030 F5E7 b .L248 3512 .LVL334: 3513 .L249: 3514 .LCFI33: 3515 .cfi_def_cfa_offset 0 3516 .cfi_restore 4 3517 .cfi_restore 14 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3518 .loc 1 2068 3 discriminator 1 view .LVU1080 3519 0032 0220 movs r0, #2 3520 .LVL335: 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3521 .loc 1 2082 1 view .LVU1081 3522 0034 7047 bx lr 3523 .cfi_endproc 3524 .LFE269: 3526 .section .text.HAL_PCD_ActivateRemoteWakeup,"ax",%progbits 3527 .align 1 3528 .global HAL_PCD_ActivateRemoteWakeup 3529 .syntax unified 3530 .thumb 3531 .thumb_func 3533 HAL_PCD_ActivateRemoteWakeup: 3534 .LVL336: 3535 .LFB270: 2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return (USB_ActivateRemoteWakeup(hpcd->Instance)); 3536 .loc 1 2090 1 is_stmt 1 view -0 3537 .cfi_startproc 3538 @ args = 0, pretend = 0, frame = 0 3539 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccxeXpRn.s page 121 2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return (USB_ActivateRemoteWakeup(hpcd->Instance)); 3540 .loc 1 2090 1 is_stmt 0 view .LVU1083 3541 0000 08B5 push {r3, lr} 3542 .LCFI34: 3543 .cfi_def_cfa_offset 8 3544 .cfi_offset 3, -8 3545 .cfi_offset 14, -4 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3546 .loc 1 2091 3 is_stmt 1 view .LVU1084 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3547 .loc 1 2091 11 is_stmt 0 view .LVU1085 3548 0002 0068 ldr r0, [r0] 3549 .LVL337: 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3550 .loc 1 2091 11 view .LVU1086 3551 0004 FFF7FEFF bl USB_ActivateRemoteWakeup 3552 .LVL338: 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3553 .loc 1 2092 1 view .LVU1087 3554 0008 08BD pop {r3, pc} 3555 .cfi_endproc 3556 .LFE270: 3558 .section .text.HAL_PCD_DeActivateRemoteWakeup,"ax",%progbits 3559 .align 1 3560 .global HAL_PCD_DeActivateRemoteWakeup 3561 .syntax unified 3562 .thumb 3563 .thumb_func 3565 HAL_PCD_DeActivateRemoteWakeup: 3566 .LVL339: 3567 .LFB271: 2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return (USB_DeActivateRemoteWakeup(hpcd->Instance)); 3568 .loc 1 2100 1 is_stmt 1 view -0 3569 .cfi_startproc 3570 @ args = 0, pretend = 0, frame = 0 3571 @ frame_needed = 0, uses_anonymous_args = 0 2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return (USB_DeActivateRemoteWakeup(hpcd->Instance)); 3572 .loc 1 2100 1 is_stmt 0 view .LVU1089 3573 0000 08B5 push {r3, lr} 3574 .LCFI35: 3575 .cfi_def_cfa_offset 8 3576 .cfi_offset 3, -8 3577 .cfi_offset 14, -4 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3578 .loc 1 2101 3 is_stmt 1 view .LVU1090 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3579 .loc 1 2101 11 is_stmt 0 view .LVU1091 3580 0002 0068 ldr r0, [r0] 3581 .LVL340: 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3582 .loc 1 2101 11 view .LVU1092 3583 0004 FFF7FEFF bl USB_DeActivateRemoteWakeup 3584 .LVL341: 2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3585 .loc 1 2102 1 view .LVU1093 3586 0008 08BD pop {r3, pc} 3587 .cfi_endproc ARM GAS /tmp/ccxeXpRn.s page 122 3588 .LFE271: 3590 .section .text.HAL_PCD_GetState,"ax",%progbits 3591 .align 1 3592 .global HAL_PCD_GetState 3593 .syntax unified 3594 .thumb 3595 .thumb_func 3597 HAL_PCD_GetState: 3598 .LVL342: 3599 .LFB272: 2129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return hpcd->State; 3600 .loc 1 2129 1 is_stmt 1 view -0 3601 .cfi_startproc 3602 @ args = 0, pretend = 0, frame = 0 3603 @ frame_needed = 0, uses_anonymous_args = 0 3604 @ link register save eliminated. 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3605 .loc 1 2130 3 view .LVU1095 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3606 .loc 1 2130 14 is_stmt 0 view .LVU1096 3607 0000 90F89504 ldrb r0, [r0, #1173] @ zero_extendqisi2 3608 .LVL343: 2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3609 .loc 1 2131 1 view .LVU1097 3610 0004 7047 bx lr 3611 .cfi_endproc 3612 .LFE272: 3614 .section .text.HAL_PCD_SetTestMode,"ax",%progbits 3615 .align 1 3616 .global HAL_PCD_SetTestMode 3617 .syntax unified 3618 .thumb 3619 .thumb_func 3621 HAL_PCD_SetTestMode: 3622 .LVL344: 3623 .LFB273: 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** const USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 3624 .loc 1 2141 1 is_stmt 1 view -0 3625 .cfi_startproc 3626 @ args = 0, pretend = 0, frame = 0 3627 @ frame_needed = 0, uses_anonymous_args = 0 3628 @ link register save eliminated. 2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3629 .loc 1 2142 3 view .LVU1099 2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t USBx_BASE = (uint32_t)USBx; 3630 .loc 1 2142 32 is_stmt 0 view .LVU1100 3631 0000 0368 ldr r3, [r0] 3632 .LVL345: 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3633 .loc 1 2143 3 is_stmt 1 view .LVU1101 2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 3634 .loc 1 2145 3 view .LVU1102 3635 0002 4A1E subs r2, r1, #1 3636 0004 042A cmp r2, #4 3637 0006 0BD8 bhi .L261 2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCTL |= (uint32_t)testmode << 4; 3638 .loc 1 2152 7 view .LVU1103 ARM GAS /tmp/ccxeXpRn.s page 123 2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCTL |= (uint32_t)testmode << 4; 3639 .loc 1 2152 18 is_stmt 0 view .LVU1104 3640 0008 D3F80428 ldr r2, [r3, #2052] 2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCTL |= (uint32_t)testmode << 4; 3641 .loc 1 2152 25 view .LVU1105 3642 000c 22F07002 bic r2, r2, #112 3643 0010 C3F80428 str r2, [r3, #2052] 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 3644 .loc 1 2153 7 is_stmt 1 view .LVU1106 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 3645 .loc 1 2153 18 is_stmt 0 view .LVU1107 3646 0014 D3F80428 ldr r2, [r3, #2052] 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 3647 .loc 1 2153 25 view .LVU1108 3648 0018 42EA0112 orr r2, r2, r1, lsl #4 3649 001c C3F80428 str r2, [r3, #2052] 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 3650 .loc 1 2154 7 is_stmt 1 view .LVU1109 3651 .L261: 2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 3652 .loc 1 2160 3 view .LVU1110 2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 3653 .loc 1 2161 1 is_stmt 0 view .LVU1111 3654 0020 0020 movs r0, #0 3655 .LVL346: 2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 3656 .loc 1 2161 1 view .LVU1112 3657 0022 7047 bx lr 3658 .cfi_endproc 3659 .LFE273: 3661 .text 3662 .Letext0: 3663 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h" 3664 .file 3 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h" 3665 .file 4 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 3666 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h" 3667 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h" 3668 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h" 3669 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd_ex.h" ARM GAS /tmp/ccxeXpRn.s page 124 DEFINED SYMBOLS *ABS*:00000000 stm32f4xx_hal_pcd.c /tmp/ccxeXpRn.s:21 .text.PCD_WriteEmptyTxFifo:00000000 $t /tmp/ccxeXpRn.s:26 .text.PCD_WriteEmptyTxFifo:00000000 PCD_WriteEmptyTxFifo /tmp/ccxeXpRn.s:222 .text.HAL_PCD_MspInit:00000000 $t /tmp/ccxeXpRn.s:228 .text.HAL_PCD_MspInit:00000000 HAL_PCD_MspInit /tmp/ccxeXpRn.s:243 .text.HAL_PCD_Init:00000000 $t /tmp/ccxeXpRn.s:249 .text.HAL_PCD_Init:00000000 HAL_PCD_Init /tmp/ccxeXpRn.s:496 .text.HAL_PCD_MspDeInit:00000000 $t /tmp/ccxeXpRn.s:502 .text.HAL_PCD_MspDeInit:00000000 HAL_PCD_MspDeInit /tmp/ccxeXpRn.s:517 .text.HAL_PCD_DeInit:00000000 $t /tmp/ccxeXpRn.s:523 .text.HAL_PCD_DeInit:00000000 HAL_PCD_DeInit /tmp/ccxeXpRn.s:585 .text.HAL_PCD_Start:00000000 $t /tmp/ccxeXpRn.s:591 .text.HAL_PCD_Start:00000000 HAL_PCD_Start /tmp/ccxeXpRn.s:672 .text.HAL_PCD_Stop:00000000 $t /tmp/ccxeXpRn.s:678 .text.HAL_PCD_Stop:00000000 HAL_PCD_Stop /tmp/ccxeXpRn.s:766 .text.HAL_PCD_WKUP_IRQHandler:00000000 $t /tmp/ccxeXpRn.s:772 .text.HAL_PCD_WKUP_IRQHandler:00000000 HAL_PCD_WKUP_IRQHandler /tmp/ccxeXpRn.s:812 .text.HAL_PCD_WKUP_IRQHandler:0000001c $d /tmp/ccxeXpRn.s:817 .text.HAL_PCD_DataOutStageCallback:00000000 $t /tmp/ccxeXpRn.s:823 .text.HAL_PCD_DataOutStageCallback:00000000 HAL_PCD_DataOutStageCallback /tmp/ccxeXpRn.s:839 .text.PCD_EP_OutXfrComplete_int:00000000 $t /tmp/ccxeXpRn.s:844 .text.PCD_EP_OutXfrComplete_int:00000000 PCD_EP_OutXfrComplete_int /tmp/ccxeXpRn.s:1065 .text.PCD_EP_OutXfrComplete_int:000000fc $d /tmp/ccxeXpRn.s:1071 .text.HAL_PCD_DataInStageCallback:00000000 $t /tmp/ccxeXpRn.s:1077 .text.HAL_PCD_DataInStageCallback:00000000 HAL_PCD_DataInStageCallback /tmp/ccxeXpRn.s:1093 .text.HAL_PCD_SetupStageCallback:00000000 $t /tmp/ccxeXpRn.s:1099 .text.HAL_PCD_SetupStageCallback:00000000 HAL_PCD_SetupStageCallback /tmp/ccxeXpRn.s:1114 .text.PCD_EP_OutSetupPacket_int:00000000 $t /tmp/ccxeXpRn.s:1119 .text.PCD_EP_OutSetupPacket_int:00000000 PCD_EP_OutSetupPacket_int /tmp/ccxeXpRn.s:1199 .text.PCD_EP_OutSetupPacket_int:0000004c $d /tmp/ccxeXpRn.s:1204 .text.HAL_PCD_SOFCallback:00000000 $t /tmp/ccxeXpRn.s:1210 .text.HAL_PCD_SOFCallback:00000000 HAL_PCD_SOFCallback /tmp/ccxeXpRn.s:1225 .text.HAL_PCD_ResetCallback:00000000 $t /tmp/ccxeXpRn.s:1231 .text.HAL_PCD_ResetCallback:00000000 HAL_PCD_ResetCallback /tmp/ccxeXpRn.s:1246 .text.HAL_PCD_SuspendCallback:00000000 $t /tmp/ccxeXpRn.s:1252 .text.HAL_PCD_SuspendCallback:00000000 HAL_PCD_SuspendCallback /tmp/ccxeXpRn.s:1267 .text.HAL_PCD_ResumeCallback:00000000 $t /tmp/ccxeXpRn.s:1273 .text.HAL_PCD_ResumeCallback:00000000 HAL_PCD_ResumeCallback /tmp/ccxeXpRn.s:1288 .text.HAL_PCD_ISOOUTIncompleteCallback:00000000 $t /tmp/ccxeXpRn.s:1294 .text.HAL_PCD_ISOOUTIncompleteCallback:00000000 HAL_PCD_ISOOUTIncompleteCallback /tmp/ccxeXpRn.s:1310 .text.HAL_PCD_ISOINIncompleteCallback:00000000 $t /tmp/ccxeXpRn.s:1316 .text.HAL_PCD_ISOINIncompleteCallback:00000000 HAL_PCD_ISOINIncompleteCallback /tmp/ccxeXpRn.s:1332 .text.HAL_PCD_ConnectCallback:00000000 $t /tmp/ccxeXpRn.s:1338 .text.HAL_PCD_ConnectCallback:00000000 HAL_PCD_ConnectCallback /tmp/ccxeXpRn.s:1353 .text.HAL_PCD_DisconnectCallback:00000000 $t /tmp/ccxeXpRn.s:1359 .text.HAL_PCD_DisconnectCallback:00000000 HAL_PCD_DisconnectCallback /tmp/ccxeXpRn.s:1374 .text.HAL_PCD_DevConnect:00000000 $t /tmp/ccxeXpRn.s:1380 .text.HAL_PCD_DevConnect:00000000 HAL_PCD_DevConnect /tmp/ccxeXpRn.s:1457 .text.HAL_PCD_DevDisconnect:00000000 $t /tmp/ccxeXpRn.s:1463 .text.HAL_PCD_DevDisconnect:00000000 HAL_PCD_DevDisconnect /tmp/ccxeXpRn.s:1541 .text.HAL_PCD_SetAddress:00000000 $t /tmp/ccxeXpRn.s:1547 .text.HAL_PCD_SetAddress:00000000 HAL_PCD_SetAddress /tmp/ccxeXpRn.s:1603 .text.HAL_PCD_EP_Open:00000000 $t /tmp/ccxeXpRn.s:1609 .text.HAL_PCD_EP_Open:00000000 HAL_PCD_EP_Open /tmp/ccxeXpRn.s:1745 .text.HAL_PCD_EP_Close:00000000 $t /tmp/ccxeXpRn.s:1751 .text.HAL_PCD_EP_Close:00000000 HAL_PCD_EP_Close ARM GAS /tmp/ccxeXpRn.s page 125 /tmp/ccxeXpRn.s:1847 .text.HAL_PCD_EP_Receive:00000000 $t /tmp/ccxeXpRn.s:1853 .text.HAL_PCD_EP_Receive:00000000 HAL_PCD_EP_Receive /tmp/ccxeXpRn.s:1928 .text.HAL_PCD_EP_GetRxCount:00000000 $t /tmp/ccxeXpRn.s:1934 .text.HAL_PCD_EP_GetRxCount:00000000 HAL_PCD_EP_GetRxCount /tmp/ccxeXpRn.s:1957 .text.HAL_PCD_EP_Transmit:00000000 $t /tmp/ccxeXpRn.s:1963 .text.HAL_PCD_EP_Transmit:00000000 HAL_PCD_EP_Transmit /tmp/ccxeXpRn.s:2039 .text.HAL_PCD_EP_SetStall:00000000 $t /tmp/ccxeXpRn.s:2045 .text.HAL_PCD_EP_SetStall:00000000 HAL_PCD_EP_SetStall /tmp/ccxeXpRn.s:2179 .text.HAL_PCD_EP_ClrStall:00000000 $t /tmp/ccxeXpRn.s:2185 .text.HAL_PCD_EP_ClrStall:00000000 HAL_PCD_EP_ClrStall /tmp/ccxeXpRn.s:2305 .text.HAL_PCD_EP_Abort:00000000 $t /tmp/ccxeXpRn.s:2311 .text.HAL_PCD_EP_Abort:00000000 HAL_PCD_EP_Abort /tmp/ccxeXpRn.s:2371 .text.HAL_PCD_IRQHandler:00000000 $t /tmp/ccxeXpRn.s:2377 .text.HAL_PCD_IRQHandler:00000000 HAL_PCD_IRQHandler /tmp/ccxeXpRn.s:3450 .text.HAL_PCD_EP_Flush:00000000 $t /tmp/ccxeXpRn.s:3456 .text.HAL_PCD_EP_Flush:00000000 HAL_PCD_EP_Flush /tmp/ccxeXpRn.s:3527 .text.HAL_PCD_ActivateRemoteWakeup:00000000 $t /tmp/ccxeXpRn.s:3533 .text.HAL_PCD_ActivateRemoteWakeup:00000000 HAL_PCD_ActivateRemoteWakeup /tmp/ccxeXpRn.s:3559 .text.HAL_PCD_DeActivateRemoteWakeup:00000000 $t /tmp/ccxeXpRn.s:3565 .text.HAL_PCD_DeActivateRemoteWakeup:00000000 HAL_PCD_DeActivateRemoteWakeup /tmp/ccxeXpRn.s:3591 .text.HAL_PCD_GetState:00000000 $t /tmp/ccxeXpRn.s:3597 .text.HAL_PCD_GetState:00000000 HAL_PCD_GetState /tmp/ccxeXpRn.s:3615 .text.HAL_PCD_SetTestMode:00000000 $t /tmp/ccxeXpRn.s:3621 .text.HAL_PCD_SetTestMode:00000000 HAL_PCD_SetTestMode UNDEFINED SYMBOLS USB_WritePacket USB_DisableGlobalInt USB_CoreInit USB_SetCurrentMode USB_DevInit USB_DevDisconnect USB_StopDevice USB_EnableGlobalInt USB_DevConnect USB_FlushTxFifo USB_EP0_OutStart USB_SetDevAddress USB_ActivateEndpoint USB_DeactivateEndpoint USB_EPStartXfer USB_EPSetStall USB_EPClearStall USB_EPStopXfer USB_GetMode USB_ReadInterrupts USB_ReadPacket USB_ReadDevAllOutEpInterrupt USB_ReadDevOutEPInterrupt USB_ReadDevAllInEpInterrupt USB_ReadDevInEPInterrupt HAL_PCDEx_LPM_Callback USB_ActivateSetup USB_GetDevSpeed HAL_RCC_GetHCLKFreq USB_SetTurnaroundTime USB_FlushRxFifo ARM GAS /tmp/ccxeXpRn.s page 126 USB_ActivateRemoteWakeup USB_DeActivateRemoteWakeup