ARM GAS /tmp/ccYuHakw.s page 1 1 .cpu cortex-m0 2 .eabi_attribute 20, 1 3 .eabi_attribute 21, 1 4 .eabi_attribute 23, 3 5 .eabi_attribute 24, 1 6 .eabi_attribute 25, 1 7 .eabi_attribute 26, 1 8 .eabi_attribute 30, 1 9 .eabi_attribute 34, 0 10 .eabi_attribute 18, 4 11 .file "stm32f0xx_hal_pcd.c" 12 .text 13 .Ltext0: 14 .cfi_sections .debug_frame 15 .section .text.HAL_PCD_MspInit,"ax",%progbits 16 .align 1 17 .weak HAL_PCD_MspInit 18 .syntax unified 19 .code 16 20 .thumb_func 21 .fpu softvfp 23 HAL_PCD_MspInit: 24 .LFB42: 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c" 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ****************************************************************************** 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @file stm32f0xx_hal_pcd.c 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @author MCD Application Team 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief PCD HAL module driver. 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * functionalities of the USB Peripheral Controller: 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * + IO operation functions 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * + Peripheral Control functions 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * + Peripheral State functions 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @verbatim 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ============================================================================== 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ##### How to use this driver ##### 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ============================================================================== 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** [..] 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** The PCD HAL driver can be used as follows: 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#) Declare a PCD_HandleTypeDef handle structure, for example: 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_HandleTypeDef hpcd; 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#) Fill parameters of Init structure in HCD handle 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#) Call HAL_PCD_Init() API to initialize the PCD peripheral (Core, Device core, ...) 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#) Initialize the PCD low level resources through the HAL_PCD_MspInit() API: 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) Enable the PCD/USB Low Level interface clock using 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (+++) __HAL_RCC_USB_CLK_ENABLE(); For USB Device only FS peripheral 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) Initialize the related GPIO clocks 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) Configure PCD pin-out 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) Configure PCD NVIC interrupt ARM GAS /tmp/ccYuHakw.s page 2 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#)Associate the Upper USB device stack to the HAL PCD Driver: 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) hpcd.pData = pdev; 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#)Enable PCD transmission and reception: 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) HAL_PCD_Start(); 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @endverbatim 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ****************************************************************************** 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @attention 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** *

© Copyright (c) 2016 STMicroelectronics. 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * All rights reserved.

47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * This software component is licensed by ST under BSD 3-Clause license, 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * the "License"; You may not use this file except in compliance with the 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * License. You may obtain a copy of the License at: 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * opensource.org/licenses/BSD-3-Clause 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ****************************************************************************** 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Includes ------------------------------------------------------------------*/ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #include "stm32f0xx_hal.h" 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @addtogroup STM32F0xx_HAL_Driver 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD PCD 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief PCD HAL module driver 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #ifdef HAL_PCD_MODULE_ENABLED 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if defined (USB) 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private types -------------------------------------------------------------*/ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private variables ---------------------------------------------------------*/ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private constants ---------------------------------------------------------*/ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private macros ------------------------------------------------------------*/ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Private_Macros PCD Private Macros 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #define PCD_MIN(a, b) (((a) < (b)) ? (a) : (b)) 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #define PCD_MAX(a, b) (((a) > (b)) ? (a) : (b)) 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @} 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private functions prototypes ----------------------------------------------*/ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Private_Functions PCD Private Functions 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_ISR_Handler(PCD_HandleTypeDef *hpcd); ARM GAS /tmp/ccYuHakw.s page 3 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @} 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Exported functions --------------------------------------------------------*/ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions PCD Exported Functions 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group1 Initialization and de-initialization functions 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Initialization and Configuration functions 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @verbatim 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** =============================================================================== 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ##### Initialization and de-initialization functions ##### 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** =============================================================================== 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** [..] This section provides functions allowing to: 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @endverbatim 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Initializes the PCD according to the specified 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * parameters in the PCD_InitTypeDef and initialize the associated handle. 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd) 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint8_t i; 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Check the PCD handle allocation */ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd == NULL) 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR; 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Check the parameters */ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance)); 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_RESET) 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Allocate lock resource and initialize it */ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Lock = HAL_UNLOCKED; 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SOFCallback = HAL_PCD_SOFCallback; 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback; 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResetCallback = HAL_PCD_ResetCallback; 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SuspendCallback = HAL_PCD_SuspendCallback; 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResumeCallback = HAL_PCD_ResumeCallback; 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ConnectCallback = HAL_PCD_ConnectCallback; 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback; 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback; 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback; ARM GAS /tmp/ccYuHakw.s page 4 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback; 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback; 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPMCallback = HAL_PCDEx_LPM_Callback; 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->BCDCallback = HAL_PCDEx_BCD_Callback; 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->MspInitCallback == NULL) 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit; 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Init the low level hardware */ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback(hpcd); 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_MspInit(hpcd); 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_BUSY; 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Disable the Interrupts */ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Init endpoints structures */ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Init ep structure */ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].is_in = 1U; 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].num = i; 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].tx_fifo_num = i; 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Control until ep is activated */ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].type = EP_TYPE_CTRL; 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U; 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_buff = 0U; 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_len = 0U; 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].is_in = 0U; 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i; 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Control until ep is activated */ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].type = EP_TYPE_CTRL; 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].maxpacket = 0U; 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_buff = 0U; 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_len = 0U; 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Init Device */ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevInit(hpcd->Instance, hpcd->Init); 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->USB_Address = 0U; 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_READY; 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Activate LPM */ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->Init.lpm_enable == 1U) 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { ARM GAS /tmp/ccYuHakw.s page 5 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)HAL_PCDEx_ActivateLPM(hpcd); 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief DeInitializes the PCD peripheral. 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DeInit(PCD_HandleTypeDef *hpcd) 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Check the PCD handle allocation */ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd == NULL) 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR; 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_BUSY; 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Stop Device */ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)HAL_PCD_Stop(hpcd); 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->MspDeInitCallback == NULL) 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; /* Legacy weak MspDeInit */ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DeInit the low level hardware */ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback(hpcd); 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DeInit the low level hardware: CLOCK, NVIC.*/ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_MspDeInit(hpcd); 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_RESET; 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Initializes the PCD MSP. 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd) 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 26 .loc 1 253 0 27 .cfi_startproc 28 @ args = 0, pretend = 0, frame = 0 29 @ frame_needed = 0, uses_anonymous_args = 0 30 @ link register save eliminated. 31 .LVL0: 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); ARM GAS /tmp/ccYuHakw.s page 6 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_MspInit could be implemented in the user file 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 32 .loc 1 260 0 33 @ sp needed 34 0000 7047 bx lr 35 .cfi_endproc 36 .LFE42: 38 .section .text.HAL_PCD_Init,"ax",%progbits 39 .align 1 40 .global HAL_PCD_Init 41 .syntax unified 42 .code 16 43 .thumb_func 44 .fpu softvfp 46 HAL_PCD_Init: 47 .LFB40: 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint8_t i; 48 .loc 1 121 0 49 .cfi_startproc 50 @ args = 0, pretend = 0, frame = 0 51 @ frame_needed = 0, uses_anonymous_args = 0 52 .LVL1: 53 0000 30B5 push {r4, r5, lr} 54 .LCFI0: 55 .cfi_def_cfa_offset 12 56 .cfi_offset 4, -12 57 .cfi_offset 5, -8 58 .cfi_offset 14, -4 59 0002 87B0 sub sp, sp, #28 60 .LCFI1: 61 .cfi_def_cfa_offset 40 62 0004 041E subs r4, r0, #0 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 63 .loc 1 125 0 64 0006 61D0 beq .L9 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 65 .loc 1 133 0 66 0008 314B ldr r3, .L13 67 000a C35C ldrb r3, [r0, r3] 68 000c 002B cmp r3, #0 69 000e 07D0 beq .L11 70 .LVL2: 71 .L4: 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 72 .loc 1 166 0 73 0010 2F4B ldr r3, .L13 74 0012 0322 movs r2, #3 75 0014 E254 strb r2, [r4, r3] 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 76 .loc 1 169 0 77 0016 2068 ldr r0, [r4] 78 0018 FFF7FEFF bl USB_DisableGlobalInt 79 .LVL3: 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { ARM GAS /tmp/ccYuHakw.s page 7 80 .loc 1 172 0 81 001c 0023 movs r3, #0 82 001e 1AE0 b .L5 83 .LVL4: 84 .L11: 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 85 .loc 1 136 0 86 0020 8A23 movs r3, #138 87 0022 9B00 lsls r3, r3, #2 88 0024 0022 movs r2, #0 89 0026 C254 strb r2, [r0, r3] 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */ 90 .loc 1 162 0 91 0028 FFF7FEFF bl HAL_PCD_MspInit 92 .LVL5: 93 002c F0E7 b .L4 94 .LVL6: 95 .L6: 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].num = i; 96 .loc 1 175 0 discriminator 3 97 002e 5A01 lsls r2, r3, #5 98 0030 A218 adds r2, r4, r2 99 0032 1100 movs r1, r2 100 0034 2931 adds r1, r1, #41 101 0036 0120 movs r0, #1 102 0038 0870 strb r0, [r1] 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].tx_fifo_num = i; 103 .loc 1 176 0 discriminator 3 104 003a 0139 subs r1, r1, #1 105 003c 0B70 strb r3, [r1] 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Control until ep is activated */ 106 .loc 1 177 0 discriminator 3 107 003e D386 strh r3, [r2, #54] 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U; 108 .loc 1 179 0 discriminator 3 109 0040 1000 movs r0, r2 110 0042 2B30 adds r0, r0, #43 111 0044 0021 movs r1, #0 112 0046 0170 strb r1, [r0] 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_buff = 0U; 113 .loc 1 180 0 discriminator 3 114 0048 9163 str r1, [r2, #56] 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_len = 0U; 115 .loc 1 181 0 discriminator 3 116 004a D163 str r1, [r2, #60] 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 117 .loc 1 182 0 discriminator 3 118 004c 9A1C adds r2, r3, #2 119 004e 5201 lsls r2, r2, #5 120 0050 1151 str r1, [r2, r4] 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 121 .loc 1 172 0 discriminator 3 122 0052 0133 adds r3, r3, #1 123 .LVL7: 124 0054 DBB2 uxtb r3, r3 125 .LVL8: 126 .L5: ARM GAS /tmp/ccYuHakw.s page 8 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 127 .loc 1 172 0 is_stmt 0 discriminator 1 128 0056 6068 ldr r0, [r4, #4] 129 0058 8342 cmp r3, r0 130 005a E8D3 bcc .L6 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 131 .loc 1 185 0 is_stmt 1 132 005c 0022 movs r2, #0 133 005e 15E0 b .L7 134 .LVL9: 135 .L8: 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i; 136 .loc 1 187 0 discriminator 3 137 0060 5301 lsls r3, r2, #5 138 0062 E318 adds r3, r4, r3 139 0064 1D00 movs r5, r3 140 0066 2A35 adds r5, r5, #42 141 0068 FF35 adds r5, r5, #255 142 006a 0021 movs r1, #0 143 006c 2970 strb r1, [r5] 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Control until ep is activated */ 144 .loc 1 188 0 discriminator 3 145 006e 013D subs r5, r5, #1 146 0070 2A70 strb r2, [r5] 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].maxpacket = 0U; 147 .loc 1 190 0 discriminator 3 148 0072 0335 adds r5, r5, #3 149 0074 2970 strb r1, [r5] 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_buff = 0U; 150 .loc 1 191 0 discriminator 3 151 0076 0D35 adds r5, r5, #13 152 0078 2960 str r1, [r5] 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_len = 0U; 153 .loc 1 192 0 discriminator 3 154 007a 3D33 adds r3, r3, #61 155 007c FF33 adds r3, r3, #255 156 007e 1960 str r1, [r3] 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 157 .loc 1 193 0 discriminator 3 158 0080 1300 movs r3, r2 159 0082 0A33 adds r3, r3, #10 160 0084 5B01 lsls r3, r3, #5 161 0086 1951 str r1, [r3, r4] 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 162 .loc 1 185 0 discriminator 3 163 0088 0132 adds r2, r2, #1 164 .LVL10: 165 008a D2B2 uxtb r2, r2 166 .LVL11: 167 .L7: 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 168 .loc 1 185 0 is_stmt 0 discriminator 1 169 008c 9042 cmp r0, r2 170 008e E7D8 bhi .L8 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 171 .loc 1 197 0 is_stmt 1 172 0090 6A46 mov r2, sp ARM GAS /tmp/ccYuHakw.s page 9 173 .LVL12: 174 0092 2300 movs r3, r4 175 0094 1033 adds r3, r3, #16 176 0096 23CB ldmia r3!, {r0, r1, r5} 177 0098 23C2 stmia r2!, {r0, r1, r5} 178 009a 03CB ldmia r3!, {r0, r1} 179 009c 03C2 stmia r2!, {r0, r1} 180 009e 6168 ldr r1, [r4, #4] 181 00a0 A268 ldr r2, [r4, #8] 182 00a2 E368 ldr r3, [r4, #12] 183 00a4 2068 ldr r0, [r4] 184 00a6 FFF7FEFF bl USB_DevInit 185 .LVL13: 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_READY; 186 .loc 1 199 0 187 00aa 2423 movs r3, #36 188 00ac 0022 movs r2, #0 189 00ae E254 strb r2, [r4, r3] 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 190 .loc 1 200 0 191 00b0 074B ldr r3, .L13 192 00b2 0132 adds r2, r2, #1 193 00b4 E254 strb r2, [r4, r3] 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 194 .loc 1 203 0 195 00b6 E369 ldr r3, [r4, #28] 196 00b8 012B cmp r3, #1 197 00ba 02D0 beq .L12 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 198 .loc 1 208 0 199 00bc 0020 movs r0, #0 200 .L3: 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 201 .loc 1 209 0 202 00be 07B0 add sp, sp, #28 203 @ sp needed 204 .LVL14: 205 00c0 30BD pop {r4, r5, pc} 206 .LVL15: 207 .L12: 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 208 .loc 1 205 0 209 00c2 2000 movs r0, r4 210 00c4 FFF7FEFF bl HAL_PCDEx_ActivateLPM 211 .LVL16: 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 212 .loc 1 208 0 213 00c8 0020 movs r0, #0 214 00ca F8E7 b .L3 215 .LVL17: 216 .L9: 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 217 .loc 1 127 0 218 00cc 0120 movs r0, #1 219 .LVL18: 220 00ce F6E7 b .L3 221 .L14: ARM GAS /tmp/ccYuHakw.s page 10 222 .align 2 223 .L13: 224 00d0 29020000 .word 553 225 .cfi_endproc 226 .LFE40: 228 .section .text.HAL_PCD_MspDeInit,"ax",%progbits 229 .align 1 230 .weak HAL_PCD_MspDeInit 231 .syntax unified 232 .code 16 233 .thumb_func 234 .fpu softvfp 236 HAL_PCD_MspDeInit: 237 .LFB43: 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief DeInitializes PCD MSP. 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd) 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 238 .loc 1 268 0 239 .cfi_startproc 240 @ args = 0, pretend = 0, frame = 0 241 @ frame_needed = 0, uses_anonymous_args = 0 242 @ link register save eliminated. 243 .LVL19: 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_MspDeInit could be implemented in the user file 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 244 .loc 1 275 0 245 @ sp needed 246 0000 7047 bx lr 247 .cfi_endproc 248 .LFE43: 250 .section .text.HAL_PCD_Start,"ax",%progbits 251 .align 1 252 .global HAL_PCD_Start 253 .syntax unified 254 .code 16 255 .thumb_func 256 .fpu softvfp 258 HAL_PCD_Start: 259 .LFB44: 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register a User USB PCD Callback 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak predefined callback 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd USB PCD handle 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param CallbackID ID of the callback to be registered 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * This parameter can be one of the following values: ARM GAS /tmp/ccYuHakw.s page 11 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SOF_CB_ID USB PCD SOF callback ID 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SETUPSTAGE_CB_ID USB PCD Setup callback ID 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESET_CB_ID USB PCD Reset callback ID 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SUSPEND_CB_ID USB PCD Suspend callback ID 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESUME_CB_ID USB PCD Resume callback ID 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_CONNECT_CB_ID USB PCD Connect callback ID 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_DISCONNECT_CB_ID OTG PCD Disconnect callback ID 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPINIT_CB_ID MspDeInit callback ID 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPDEINIT_CB_ID MspDeInit callback ID 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the Callback function 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterCallback(PCD_HandleTypeDef *hpcd, HAL_PCD_CallbackIDTypeDef Callb 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL) 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR; 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** switch (CallbackID) 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SOF_CB_ID : 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SOFCallback = pCallback; 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SETUPSTAGE_CB_ID : 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SetupStageCallback = pCallback; 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_RESET_CB_ID : 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResetCallback = pCallback; 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SUSPEND_CB_ID : 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SuspendCallback = pCallback; 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_RESUME_CB_ID : 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResumeCallback = pCallback; 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_CONNECT_CB_ID : 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ConnectCallback = pCallback; 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_DISCONNECT_CB_ID : 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DisconnectCallback = pCallback; 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 12 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback = pCallback; 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback = pCallback; 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** default : 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else if (hpcd->State == HAL_PCD_STATE_RESET) 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** switch (CallbackID) 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback = pCallback; 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback = pCallback; 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** default : 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Unregister an USB PCD Callback 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB PCD callabck is redirected to the weak predefined callback 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd USB PCD handle 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param CallbackID ID of the callback to be unregistered 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * This parameter can be one of the following values: 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SOF_CB_ID USB PCD SOF callback ID 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SETUPSTAGE_CB_ID USB PCD Setup callback ID ARM GAS /tmp/ccYuHakw.s page 13 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESET_CB_ID USB PCD Reset callback ID 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SUSPEND_CB_ID USB PCD Suspend callback ID 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESUME_CB_ID USB PCD Resume callback ID 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_CONNECT_CB_ID USB PCD Connect callback ID 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_DISCONNECT_CB_ID OTG PCD Disconnect callback ID 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPINIT_CB_ID MspDeInit callback ID 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPDEINIT_CB_ID MspDeInit callback ID 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterCallback(PCD_HandleTypeDef *hpcd, HAL_PCD_CallbackIDTypeDef Cal 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Setup Legacy weak Callbacks */ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** switch (CallbackID) 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SOF_CB_ID : 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SOFCallback = HAL_PCD_SOFCallback; 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SETUPSTAGE_CB_ID : 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback; 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_RESET_CB_ID : 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResetCallback = HAL_PCD_ResetCallback; 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SUSPEND_CB_ID : 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SuspendCallback = HAL_PCD_SuspendCallback; 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_RESUME_CB_ID : 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResumeCallback = HAL_PCD_ResumeCallback; 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_CONNECT_CB_ID : 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ConnectCallback = HAL_PCD_ConnectCallback; 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_DISCONNECT_CB_ID : 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback; 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit; 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 14 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** default : 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else if (hpcd->State == HAL_PCD_STATE_RESET) 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** switch (CallbackID) 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit; 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** default : 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break; 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD Data OUT Stage Callback 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_DataOutStageCallback() predefined callback 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Data OUT Stage Callback function 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd, pPCD_DataOutStageCa 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL) 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { ARM GAS /tmp/ccYuHakw.s page 15 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR; 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataOutStageCallback = pCallback; 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD Data OUT Stage Callback 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB PCD Data OUT Stage Callback is redirected to the weak HAL_PCD_DataOutStageCallback( 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd) 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback; /* Legacy weak DataOutStageCallback 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 16 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD Data IN Stage Callback 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_DataInStageCallback() predefined callback 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Data IN Stage Callback function 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterDataInStageCallback(PCD_HandleTypeDef *hpcd, pPCD_DataInStageCall 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL) 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR; 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataInStageCallback = pCallback; 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD Data IN Stage Callback 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB PCD Data OUT Stage Callback is redirected to the weak HAL_PCD_DataInStageCallback() 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterDataInStageCallback(PCD_HandleTypeDef *hpcd) 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 17 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback; /* Legacy weak DataInStageCallback */ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD Iso OUT incomplete Callback 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_ISOOUTIncompleteCallback() predefined callback 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Iso OUT incomplete Callback function 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd, pPCD_IsoOutIncpltCa 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL) 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR; 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = pCallback; 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 18 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD Iso OUT incomplete Callback 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB PCD Iso OUT incomplete Callback is redirected to the weak HAL_PCD_ISOOUTIncompleteC 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd) 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback; /* Legacy weak ISOOUTIncompl 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD Iso IN incomplete Callback 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_ISOINIncompleteCallback() predefined callback 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Iso IN incomplete Callback function 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd, pPCD_IsoInIncpltCall 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL) 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR; 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 19 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = pCallback; 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD Iso IN incomplete Callback 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB PCD Iso IN incomplete Callback is redirected to the weak HAL_PCD_ISOINIncompleteCal 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd) 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback; /* Legacy weak ISOINIncomplete 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD BCD Callback 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCDEx_BCD_Callback() predefined callback 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD BCD Callback function 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status ARM GAS /tmp/ccYuHakw.s page 20 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterBcdCallback(PCD_HandleTypeDef *hpcd, pPCD_BcdCallbackTypeDef pCal 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL) 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR; 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->BCDCallback = pCallback; 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD BCD Callback 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB BCD Callback is redirected to the weak HAL_PCDEx_BCD_Callback() predefined callback 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterBcdCallback(PCD_HandleTypeDef *hpcd) 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->BCDCallback = HAL_PCDEx_BCD_Callback; /* Legacy weak HAL_PCDEx_BCD_Callback */ 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 21 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD LPM Callback 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCDEx_LPM_Callback() predefined callback 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD LPM Callback function 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterLpmCallback(PCD_HandleTypeDef *hpcd, pPCD_LpmCallbackTypeDef pCal 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL) 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR; 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPMCallback = pCallback; 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD LPM Callback 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB LPM Callback is redirected to the weak HAL_PCDEx_LPM_Callback() predefined callback 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ ARM GAS /tmp/ccYuHakw.s page 22 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterLpmCallback(PCD_HandleTypeDef *hpcd) 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */ 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPMCallback = HAL_PCDEx_LPM_Callback; /* Legacy weak HAL_PCDEx_LPM_Callback */ 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */ 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */ 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR; 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */ 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status; 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @} 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group2 Input and Output operation functions 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Data transfers functions 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @verbatim 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** =============================================================================== 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ##### IO operation functions ##### 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** =============================================================================== 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** [..] 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** This subsection provides a set of functions allowing to manage the PCD data 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** transfers. 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @endverbatim 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{ 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Start the USB device 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd) 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 260 .loc 1 963 0 261 .cfi_startproc 262 @ args = 0, pretend = 0, frame = 0 263 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccYuHakw.s page 23 264 .LVL20: 265 0000 70B5 push {r4, r5, r6, lr} 266 .LCFI2: 267 .cfi_def_cfa_offset 16 268 .cfi_offset 4, -16 269 .cfi_offset 5, -12 270 .cfi_offset 6, -8 271 .cfi_offset 14, -4 272 0002 0400 movs r4, r0 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 273 .loc 1 964 0 274 0004 8A23 movs r3, #138 275 0006 9B00 lsls r3, r3, #2 276 0008 C35C ldrb r3, [r0, r3] 277 000a 012B cmp r3, #1 278 000c 0DD0 beq .L18 279 .loc 1 964 0 is_stmt 0 discriminator 2 280 000e 8A25 movs r5, #138 281 0010 AD00 lsls r5, r5, #2 282 0012 0123 movs r3, #1 283 0014 4355 strb r3, [r0, r5] 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance); 284 .loc 1 965 0 is_stmt 1 discriminator 2 285 0016 0068 ldr r0, [r0] 286 .LVL21: 287 0018 FFF7FEFF bl USB_DevConnect 288 .LVL22: 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_ENABLE(hpcd); 289 .loc 1 966 0 discriminator 2 290 001c 2068 ldr r0, [r4] 291 001e FFF7FEFF bl USB_EnableGlobalInt 292 .LVL23: 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 293 .loc 1 967 0 discriminator 2 294 0022 0023 movs r3, #0 295 0024 6355 strb r3, [r4, r5] 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 296 .loc 1 968 0 discriminator 2 297 0026 0020 movs r0, #0 298 .L17: 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 299 .loc 1 969 0 300 @ sp needed 301 .LVL24: 302 0028 70BD pop {r4, r5, r6, pc} 303 .LVL25: 304 .L18: 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance); 305 .loc 1 964 0 306 002a 0220 movs r0, #2 307 .LVL26: 308 002c FCE7 b .L17 309 .cfi_endproc 310 .LFE44: 312 .section .text.HAL_PCD_Stop,"ax",%progbits 313 .align 1 314 .global HAL_PCD_Stop ARM GAS /tmp/ccYuHakw.s page 24 315 .syntax unified 316 .code 16 317 .thumb_func 318 .fpu softvfp 320 HAL_PCD_Stop: 321 .LFB45: 970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Stop the USB device. 973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Stop(PCD_HandleTypeDef *hpcd) 977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 322 .loc 1 977 0 323 .cfi_startproc 324 @ args = 0, pretend = 0, frame = 0 325 @ frame_needed = 0, uses_anonymous_args = 0 326 .LVL27: 327 0000 70B5 push {r4, r5, r6, lr} 328 .LCFI3: 329 .cfi_def_cfa_offset 16 330 .cfi_offset 4, -16 331 .cfi_offset 5, -12 332 .cfi_offset 6, -8 333 .cfi_offset 14, -4 334 0002 0400 movs r4, r0 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 335 .loc 1 978 0 336 0004 8A23 movs r3, #138 337 0006 9B00 lsls r3, r3, #2 338 0008 C35C ldrb r3, [r0, r3] 339 000a 012B cmp r3, #1 340 000c 0DD0 beq .L21 341 .loc 1 978 0 is_stmt 0 discriminator 2 342 000e 8A25 movs r5, #138 343 0010 AD00 lsls r5, r5, #2 344 0012 0123 movs r3, #1 345 0014 4355 strb r3, [r0, r5] 979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 346 .loc 1 979 0 is_stmt 1 discriminator 2 347 0016 0068 ldr r0, [r0] 348 .LVL28: 349 0018 FFF7FEFF bl USB_DisableGlobalInt 350 .LVL29: 980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_StopDevice(hpcd->Instance); 351 .loc 1 981 0 discriminator 2 352 001c 2068 ldr r0, [r4] 353 001e FFF7FEFF bl USB_StopDevice 354 .LVL30: 982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 355 .loc 1 983 0 discriminator 2 356 0022 0023 movs r3, #0 357 0024 6355 strb r3, [r4, r5] 984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 25 985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 358 .loc 1 985 0 discriminator 2 359 0026 0020 movs r0, #0 360 .L20: 986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 361 .loc 1 986 0 362 @ sp needed 363 .LVL31: 364 0028 70BD pop {r4, r5, r6, pc} 365 .LVL32: 366 .L21: 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 367 .loc 1 978 0 368 002a 0220 movs r0, #2 369 .LVL33: 370 002c FCE7 b .L20 371 .cfi_endproc 372 .LFE45: 374 .section .text.HAL_PCD_DeInit,"ax",%progbits 375 .align 1 376 .global HAL_PCD_DeInit 377 .syntax unified 378 .code 16 379 .thumb_func 380 .fpu softvfp 382 HAL_PCD_DeInit: 383 .LFB41: 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Check the PCD handle allocation */ 384 .loc 1 217 0 385 .cfi_startproc 386 @ args = 0, pretend = 0, frame = 0 387 @ frame_needed = 0, uses_anonymous_args = 0 388 .LVL34: 389 0000 70B5 push {r4, r5, r6, lr} 390 .LCFI4: 391 .cfi_def_cfa_offset 16 392 .cfi_offset 4, -16 393 .cfi_offset 5, -12 394 .cfi_offset 6, -8 395 .cfi_offset 14, -4 396 0002 041E subs r4, r0, #0 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 397 .loc 1 219 0 398 0004 0BD0 beq .L24 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 399 .loc 1 224 0 400 0006 074D ldr r5, .L25 401 0008 0323 movs r3, #3 402 000a 4355 strb r3, [r0, r5] 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 403 .loc 1 227 0 404 000c FFF7FEFF bl HAL_PCD_Stop 405 .LVL35: 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 406 .loc 1 239 0 407 0010 2000 movs r0, r4 408 0012 FFF7FEFF bl HAL_PCD_MspDeInit ARM GAS /tmp/ccYuHakw.s page 26 409 .LVL36: 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 410 .loc 1 242 0 411 0016 0023 movs r3, #0 412 0018 6355 strb r3, [r4, r5] 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 413 .loc 1 244 0 414 001a 0020 movs r0, #0 415 .L23: 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 416 .loc 1 245 0 417 @ sp needed 418 .LVL37: 419 001c 70BD pop {r4, r5, r6, pc} 420 .LVL38: 421 .L24: 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 422 .loc 1 221 0 423 001e 0120 movs r0, #1 424 .LVL39: 425 0020 FCE7 b .L23 426 .L26: 427 0022 C046 .align 2 428 .L25: 429 0024 29020000 .word 553 430 .cfi_endproc 431 .LFE41: 433 .section .text.HAL_PCD_DataOutStageCallback,"ax",%progbits 434 .align 1 435 .weak HAL_PCD_DataOutStageCallback 436 .syntax unified 437 .code 16 438 .thumb_func 439 .fpu softvfp 441 HAL_PCD_DataOutStageCallback: 442 .LFB47: 987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief This function handles PCD interrupt request. 991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd) 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_CTR)) 997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* servicing of the endpoint correct transfer interrupt */ 999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* clear of the CTR flag into the sub */ 1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)PCD_EP_ISR_Handler(hpcd); 1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_RESET)) 1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_RESET); 1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) ARM GAS /tmp/ccYuHakw.s page 27 1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResetCallback(hpcd); 1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_ResetCallback(hpcd); 1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)HAL_PCD_SetAddress(hpcd, 0U); 1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_PMAOVR)) 1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_PMAOVR); 1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_ERR)) 1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ERR); 1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_WKUP)) 1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_LPMODE); 1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_FSUSP); 1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->LPM_State == LPM_L1) 1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPM_State = LPM_L0; 1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPMCallback(hpcd, PCD_LPM_L0_ACTIVE); 1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L0_ACTIVE); 1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResumeCallback(hpcd); 1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_ResumeCallback(hpcd); 1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_WKUP); 1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_SUSP)) 1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Force low-power mode in the macrocell */ 1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR |= USB_CNTR_FSUSP; 1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */ 1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SUSP); 1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR |= USB_CNTR_LPMODE; 1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_WKUP) == 0U) 1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SuspendCallback(hpcd); 1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else ARM GAS /tmp/ccYuHakw.s page 28 1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_SuspendCallback(hpcd); 1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Handle LPM Interrupt */ 1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_L1REQ)) 1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_L1REQ); 1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->LPM_State == LPM_L0) 1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Force suspend and low-power mode before going to L1 state*/ 1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR |= USB_CNTR_LPMODE; 1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR |= USB_CNTR_FSUSP; 1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPM_State = LPM_L1; 1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->BESL = ((uint32_t)hpcd->Instance->LPMCSR & USB_LPMCSR_BESL) >> 2; 1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPMCallback(hpcd, PCD_LPM_L1_ACTIVE); 1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L1_ACTIVE); 1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SuspendCallback(hpcd); 1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_SuspendCallback(hpcd); 1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_SOF)) 1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SOF); 1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SOFCallback(hpcd); 1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_SOFCallback(hpcd); 1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_ESOF)) 1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* clear ESOF flag in ISTR */ 1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ESOF); 1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Data OUT stage callback. 1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param epnum endpoint number 1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None ARM GAS /tmp/ccYuHakw.s page 29 1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 443 .loc 1 1124 0 444 .cfi_startproc 445 @ args = 0, pretend = 0, frame = 0 446 @ frame_needed = 0, uses_anonymous_args = 0 447 @ link register save eliminated. 448 .LVL40: 1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(epnum); 1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_DataOutStageCallback could be implemented in the user file 1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 449 .loc 1 1132 0 450 @ sp needed 451 0000 7047 bx lr 452 .cfi_endproc 453 .LFE47: 455 .section .text.HAL_PCD_DataInStageCallback,"ax",%progbits 456 .align 1 457 .weak HAL_PCD_DataInStageCallback 458 .syntax unified 459 .code 16 460 .thumb_func 461 .fpu softvfp 463 HAL_PCD_DataInStageCallback: 464 .LFB48: 1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Data IN stage callback 1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param epnum endpoint number 1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None 1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 465 .loc 1 1141 0 466 .cfi_startproc 467 @ args = 0, pretend = 0, frame = 0 468 @ frame_needed = 0, uses_anonymous_args = 0 469 @ link register save eliminated. 470 .LVL41: 1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(epnum); 1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_DataInStageCallback could be implemented in the user file 1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 471 .loc 1 1149 0 472 @ sp needed 473 0000 7047 bx lr ARM GAS /tmp/ccYuHakw.s page 30 474 .cfi_endproc 475 .LFE48: 477 .section .text.HAL_PCD_SetupStageCallback,"ax",%progbits 478 .align 1 479 .weak HAL_PCD_SetupStageCallback 480 .syntax unified 481 .code 16 482 .thumb_func 483 .fpu softvfp 485 HAL_PCD_SetupStageCallback: 486 .LFB49: 1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Setup stage callback 1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None 1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) 1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 487 .loc 1 1156 0 488 .cfi_startproc 489 @ args = 0, pretend = 0, frame = 0 490 @ frame_needed = 0, uses_anonymous_args = 0 491 @ link register save eliminated. 492 .LVL42: 1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_SetupStageCallback could be implemented in the user file 1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 493 .loc 1 1163 0 494 @ sp needed 495 0000 7047 bx lr 496 .cfi_endproc 497 .LFE49: 499 .section .text.HAL_PCD_SOFCallback,"ax",%progbits 500 .align 1 501 .weak HAL_PCD_SOFCallback 502 .syntax unified 503 .code 16 504 .thumb_func 505 .fpu softvfp 507 HAL_PCD_SOFCallback: 508 .LFB50: 1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief USB Start Of Frame callback. 1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None 1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd) 1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 509 .loc 1 1171 0 510 .cfi_startproc 511 @ args = 0, pretend = 0, frame = 0 512 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccYuHakw.s page 31 513 @ link register save eliminated. 514 .LVL43: 1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_SOFCallback could be implemented in the user file 1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 515 .loc 1 1178 0 516 @ sp needed 517 0000 7047 bx lr 518 .cfi_endproc 519 .LFE50: 521 .section .text.HAL_PCD_ResetCallback,"ax",%progbits 522 .align 1 523 .weak HAL_PCD_ResetCallback 524 .syntax unified 525 .code 16 526 .thumb_func 527 .fpu softvfp 529 HAL_PCD_ResetCallback: 530 .LFB51: 1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief USB Reset callback. 1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None 1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd) 1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 531 .loc 1 1186 0 532 .cfi_startproc 533 @ args = 0, pretend = 0, frame = 0 534 @ frame_needed = 0, uses_anonymous_args = 0 535 @ link register save eliminated. 536 .LVL44: 1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_ResetCallback could be implemented in the user file 1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 537 .loc 1 1193 0 538 @ sp needed 539 0000 7047 bx lr 540 .cfi_endproc 541 .LFE51: 543 .section .text.HAL_PCD_SuspendCallback,"ax",%progbits 544 .align 1 545 .weak HAL_PCD_SuspendCallback 546 .syntax unified 547 .code 16 548 .thumb_func 549 .fpu softvfp 551 HAL_PCD_SuspendCallback: ARM GAS /tmp/ccYuHakw.s page 32 552 .LFB52: 1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Suspend event callback. 1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None 1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) 1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 553 .loc 1 1201 0 554 .cfi_startproc 555 @ args = 0, pretend = 0, frame = 0 556 @ frame_needed = 0, uses_anonymous_args = 0 557 @ link register save eliminated. 558 .LVL45: 1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_SuspendCallback could be implemented in the user file 1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 559 .loc 1 1208 0 560 @ sp needed 561 0000 7047 bx lr 562 .cfi_endproc 563 .LFE52: 565 .section .text.HAL_PCD_ResumeCallback,"ax",%progbits 566 .align 1 567 .weak HAL_PCD_ResumeCallback 568 .syntax unified 569 .code 16 570 .thumb_func 571 .fpu softvfp 573 HAL_PCD_ResumeCallback: 574 .LFB53: 1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Resume event callback. 1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None 1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) 1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 575 .loc 1 1216 0 576 .cfi_startproc 577 @ args = 0, pretend = 0, frame = 0 578 @ frame_needed = 0, uses_anonymous_args = 0 579 @ link register save eliminated. 580 .LVL46: 1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_ResumeCallback could be implemented in the user file 1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } ARM GAS /tmp/ccYuHakw.s page 33 581 .loc 1 1223 0 582 @ sp needed 583 0000 7047 bx lr 584 .cfi_endproc 585 .LFE53: 587 .section .text.HAL_PCD_ISOOUTIncompleteCallback,"ax",%progbits 588 .align 1 589 .weak HAL_PCD_ISOOUTIncompleteCallback 590 .syntax unified 591 .code 16 592 .thumb_func 593 .fpu softvfp 595 HAL_PCD_ISOOUTIncompleteCallback: 596 .LFB54: 1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Incomplete ISO OUT callback. 1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param epnum endpoint number 1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None 1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 597 .loc 1 1232 0 598 .cfi_startproc 599 @ args = 0, pretend = 0, frame = 0 600 @ frame_needed = 0, uses_anonymous_args = 0 601 @ link register save eliminated. 602 .LVL47: 1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(epnum); 1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_ISOOUTIncompleteCallback could be implemented in the user file 1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 603 .loc 1 1240 0 604 @ sp needed 605 0000 7047 bx lr 606 .cfi_endproc 607 .LFE54: 609 .section .text.HAL_PCD_ISOINIncompleteCallback,"ax",%progbits 610 .align 1 611 .weak HAL_PCD_ISOINIncompleteCallback 612 .syntax unified 613 .code 16 614 .thumb_func 615 .fpu softvfp 617 HAL_PCD_ISOINIncompleteCallback: 618 .LFB55: 1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Incomplete ISO IN callback. 1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param epnum endpoint number 1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None ARM GAS /tmp/ccYuHakw.s page 34 1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 619 .loc 1 1249 0 620 .cfi_startproc 621 @ args = 0, pretend = 0, frame = 0 622 @ frame_needed = 0, uses_anonymous_args = 0 623 @ link register save eliminated. 624 .LVL48: 1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(epnum); 1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_ISOINIncompleteCallback could be implemented in the user file 1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 625 .loc 1 1257 0 626 @ sp needed 627 0000 7047 bx lr 628 .cfi_endproc 629 .LFE55: 631 .section .text.HAL_PCD_ConnectCallback,"ax",%progbits 632 .align 1 633 .weak HAL_PCD_ConnectCallback 634 .syntax unified 635 .code 16 636 .thumb_func 637 .fpu softvfp 639 HAL_PCD_ConnectCallback: 640 .LFB56: 1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Connection event callback. 1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None 1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd) 1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 641 .loc 1 1265 0 642 .cfi_startproc 643 @ args = 0, pretend = 0, frame = 0 644 @ frame_needed = 0, uses_anonymous_args = 0 645 @ link register save eliminated. 646 .LVL49: 1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_ConnectCallback could be implemented in the user file 1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 647 .loc 1 1272 0 648 @ sp needed 649 0000 7047 bx lr 650 .cfi_endproc 651 .LFE56: ARM GAS /tmp/ccYuHakw.s page 35 653 .section .text.HAL_PCD_DisconnectCallback,"ax",%progbits 654 .align 1 655 .weak HAL_PCD_DisconnectCallback 656 .syntax unified 657 .code 16 658 .thumb_func 659 .fpu softvfp 661 HAL_PCD_DisconnectCallback: 662 .LFB57: 1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Disconnection event callback. 1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None 1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd) 1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 663 .loc 1 1280 0 664 .cfi_startproc 665 @ args = 0, pretend = 0, frame = 0 666 @ frame_needed = 0, uses_anonymous_args = 0 667 @ link register save eliminated. 668 .LVL50: 1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_DisconnectCallback could be implemented in the user file 1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 669 .loc 1 1287 0 670 @ sp needed 671 0000 7047 bx lr 672 .cfi_endproc 673 .LFE57: 675 .section .text.HAL_PCD_DevConnect,"ax",%progbits 676 .align 1 677 .global HAL_PCD_DevConnect 678 .syntax unified 679 .code 16 680 .thumb_func 681 .fpu softvfp 683 HAL_PCD_DevConnect: 684 .LFB58: 1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @} 1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group3 Peripheral Control functions 1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief management functions 1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * 1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @verbatim 1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** =============================================================================== 1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ##### Peripheral Control functions ##### 1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** =============================================================================== 1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** [..] ARM GAS /tmp/ccYuHakw.s page 36 1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** This subsection provides a set of functions allowing to control the PCD data 1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** transfers. 1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @endverbatim 1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{ 1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Connect the USB device 1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DevConnect(PCD_HandleTypeDef *hpcd) 1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 685 .loc 1 1314 0 686 .cfi_startproc 687 @ args = 0, pretend = 0, frame = 0 688 @ frame_needed = 0, uses_anonymous_args = 0 689 .LVL51: 690 0000 70B5 push {r4, r5, r6, lr} 691 .LCFI5: 692 .cfi_def_cfa_offset 16 693 .cfi_offset 4, -16 694 .cfi_offset 5, -12 695 .cfi_offset 6, -8 696 .cfi_offset 14, -4 697 0002 0400 movs r4, r0 1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 698 .loc 1 1315 0 699 0004 8A23 movs r3, #138 700 0006 9B00 lsls r3, r3, #2 701 0008 C35C ldrb r3, [r0, r3] 702 000a 012B cmp r3, #1 703 000c 0AD0 beq .L40 704 .loc 1 1315 0 is_stmt 0 discriminator 2 705 000e 8A25 movs r5, #138 706 0010 AD00 lsls r5, r5, #2 707 0012 0123 movs r3, #1 708 0014 4355 strb r3, [r0, r5] 1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance); 709 .loc 1 1316 0 is_stmt 1 discriminator 2 710 0016 0068 ldr r0, [r0] 711 .LVL52: 712 0018 FFF7FEFF bl USB_DevConnect 713 .LVL53: 1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 714 .loc 1 1317 0 discriminator 2 715 001c 0023 movs r3, #0 716 001e 6355 strb r3, [r4, r5] 1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 717 .loc 1 1318 0 discriminator 2 718 0020 0020 movs r0, #0 719 .L39: 1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 720 .loc 1 1319 0 721 @ sp needed 722 .LVL54: ARM GAS /tmp/ccYuHakw.s page 37 723 0022 70BD pop {r4, r5, r6, pc} 724 .LVL55: 725 .L40: 1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance); 726 .loc 1 1315 0 727 0024 0220 movs r0, #2 728 .LVL56: 729 0026 FCE7 b .L39 730 .cfi_endproc 731 .LFE58: 733 .section .text.HAL_PCD_DevDisconnect,"ax",%progbits 734 .align 1 735 .global HAL_PCD_DevDisconnect 736 .syntax unified 737 .code 16 738 .thumb_func 739 .fpu softvfp 741 HAL_PCD_DevDisconnect: 742 .LFB59: 1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Disconnect the USB device. 1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DevDisconnect(PCD_HandleTypeDef *hpcd) 1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 743 .loc 1 1327 0 744 .cfi_startproc 745 @ args = 0, pretend = 0, frame = 0 746 @ frame_needed = 0, uses_anonymous_args = 0 747 .LVL57: 748 0000 70B5 push {r4, r5, r6, lr} 749 .LCFI6: 750 .cfi_def_cfa_offset 16 751 .cfi_offset 4, -16 752 .cfi_offset 5, -12 753 .cfi_offset 6, -8 754 .cfi_offset 14, -4 755 0002 0400 movs r4, r0 1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 756 .loc 1 1328 0 757 0004 8A23 movs r3, #138 758 0006 9B00 lsls r3, r3, #2 759 0008 C35C ldrb r3, [r0, r3] 760 000a 012B cmp r3, #1 761 000c 0AD0 beq .L43 762 .loc 1 1328 0 is_stmt 0 discriminator 2 763 000e 8A25 movs r5, #138 764 0010 AD00 lsls r5, r5, #2 765 0012 0123 movs r3, #1 766 0014 4355 strb r3, [r0, r5] 1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 767 .loc 1 1329 0 is_stmt 1 discriminator 2 768 0016 0068 ldr r0, [r0] 769 .LVL58: 770 0018 FFF7FEFF bl USB_DevDisconnect ARM GAS /tmp/ccYuHakw.s page 38 771 .LVL59: 1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 772 .loc 1 1330 0 discriminator 2 773 001c 0023 movs r3, #0 774 001e 6355 strb r3, [r4, r5] 1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 775 .loc 1 1331 0 discriminator 2 776 0020 0020 movs r0, #0 777 .L42: 1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 778 .loc 1 1332 0 779 @ sp needed 780 .LVL60: 781 0022 70BD pop {r4, r5, r6, pc} 782 .LVL61: 783 .L43: 1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 784 .loc 1 1328 0 785 0024 0220 movs r0, #2 786 .LVL62: 787 0026 FCE7 b .L42 788 .cfi_endproc 789 .LFE59: 791 .section .text.HAL_PCD_SetAddress,"ax",%progbits 792 .align 1 793 .global HAL_PCD_SetAddress 794 .syntax unified 795 .code 16 796 .thumb_func 797 .fpu softvfp 799 HAL_PCD_SetAddress: 800 .LFB60: 1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Set the USB Device address. 1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param address new device address 1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address) 1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 801 .loc 1 1341 0 802 .cfi_startproc 803 @ args = 0, pretend = 0, frame = 0 804 @ frame_needed = 0, uses_anonymous_args = 0 805 .LVL63: 806 0000 70B5 push {r4, r5, r6, lr} 807 .LCFI7: 808 .cfi_def_cfa_offset 16 809 .cfi_offset 4, -16 810 .cfi_offset 5, -12 811 .cfi_offset 6, -8 812 .cfi_offset 14, -4 813 0002 0400 movs r4, r0 1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 814 .loc 1 1342 0 815 0004 8A23 movs r3, #138 ARM GAS /tmp/ccYuHakw.s page 39 816 0006 9B00 lsls r3, r3, #2 817 0008 C35C ldrb r3, [r0, r3] 818 000a 012B cmp r3, #1 819 000c 0CD0 beq .L46 820 .loc 1 1342 0 is_stmt 0 discriminator 2 821 000e 8A25 movs r5, #138 822 0010 AD00 lsls r5, r5, #2 823 0012 0123 movs r3, #1 824 0014 4355 strb r3, [r0, r5] 1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->USB_Address = address; 825 .loc 1 1343 0 is_stmt 1 discriminator 2 826 0016 2333 adds r3, r3, #35 827 0018 C154 strb r1, [r0, r3] 1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_SetDevAddress(hpcd->Instance, address); 828 .loc 1 1344 0 discriminator 2 829 001a 0068 ldr r0, [r0] 830 .LVL64: 831 001c FFF7FEFF bl USB_SetDevAddress 832 .LVL65: 1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 833 .loc 1 1345 0 discriminator 2 834 0020 0023 movs r3, #0 835 0022 6355 strb r3, [r4, r5] 1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 836 .loc 1 1346 0 discriminator 2 837 0024 0020 movs r0, #0 838 .L45: 1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 839 .loc 1 1347 0 840 @ sp needed 841 .LVL66: 842 0026 70BD pop {r4, r5, r6, pc} 843 .LVL67: 844 .L46: 1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->USB_Address = address; 845 .loc 1 1342 0 846 0028 0220 movs r0, #2 847 .LVL68: 848 002a FCE7 b .L45 849 .cfi_endproc 850 .LFE60: 852 .section .text.HAL_PCD_EP_Open,"ax",%progbits 853 .align 1 854 .global HAL_PCD_EP_Open 855 .syntax unified 856 .code 16 857 .thumb_func 858 .fpu softvfp 860 HAL_PCD_EP_Open: 861 .LFB61: 1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Open and configure an endpoint. 1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address 1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_mps endpoint max packet size 1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_type endpoint type 1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status ARM GAS /tmp/ccYuHakw.s page 40 1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint16_t ep_mps, uint8_ 1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 862 .loc 1 1357 0 863 .cfi_startproc 864 @ args = 0, pretend = 0, frame = 0 865 @ frame_needed = 0, uses_anonymous_args = 0 866 .LVL69: 867 0000 70B5 push {r4, r5, r6, lr} 868 .LCFI8: 869 .cfi_def_cfa_offset 16 870 .cfi_offset 4, -16 871 .cfi_offset 5, -12 872 .cfi_offset 6, -8 873 .cfi_offset 14, -4 874 0002 0500 movs r5, r0 875 .LVL70: 1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef ret = HAL_OK; 1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & 0x80U) == 0x80U) 876 .loc 1 1361 0 877 0004 48B2 sxtb r0, r1 878 .LVL71: 879 0006 0028 cmp r0, #0 880 0008 27DB blt .L54 1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U; 1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 881 .loc 1 1368 0 882 000a 0724 movs r4, #7 883 000c 0C40 ands r4, r1 884 000e 6401 lsls r4, r4, #5 885 0010 2000 movs r0, r4 886 0012 2930 adds r0, r0, #41 887 0014 FF30 adds r0, r0, #255 888 0016 2818 adds r0, r5, r0 889 .LVL72: 1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U; 890 .loc 1 1369 0 891 0018 2C19 adds r4, r5, r4 892 001a 2A34 adds r4, r4, #42 893 001c FF34 adds r4, r4, #255 894 001e 0026 movs r6, #0 895 0020 2670 strb r6, [r4] 896 .L49: 1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 897 .loc 1 1372 0 898 0022 0724 movs r4, #7 899 0024 2140 ands r1, r4 900 .LVL73: ARM GAS /tmp/ccYuHakw.s page 41 901 0026 0170 strb r1, [r0] 1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->maxpacket = ep_mps; 902 .loc 1 1373 0 903 0028 0261 str r2, [r0, #16] 1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->type = ep_type; 904 .loc 1 1374 0 905 002a C370 strb r3, [r0, #3] 1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (ep->is_in != 0U) 906 .loc 1 1376 0 907 002c 4278 ldrb r2, [r0, #1] 908 .LVL74: 909 002e 002A cmp r2, #0 910 0030 00D0 beq .L50 1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Assign a Tx FIFO */ 1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->tx_fifo_num = ep->num; 911 .loc 1 1379 0 912 0032 C181 strh r1, [r0, #14] 913 .L50: 1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Set initial data PID. */ 1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (ep_type == EP_TYPE_BULK) 914 .loc 1 1382 0 915 0034 022B cmp r3, #2 916 0036 1BD0 beq .L55 917 .LVL75: 918 .L51: 1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->data_pid_start = 0U; 1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 919 .loc 1 1387 0 920 0038 8A23 movs r3, #138 921 003a 9B00 lsls r3, r3, #2 922 003c EB5C ldrb r3, [r5, r3] 923 003e 012B cmp r3, #1 924 0040 19D0 beq .L53 925 .loc 1 1387 0 is_stmt 0 discriminator 2 926 0042 8A24 movs r4, #138 927 0044 A400 lsls r4, r4, #2 928 0046 0123 movs r3, #1 929 0048 2B55 strb r3, [r5, r4] 930 .LVL76: 1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 931 .loc 1 1388 0 is_stmt 1 discriminator 2 932 004a 0100 movs r1, r0 933 004c 2868 ldr r0, [r5] 934 .LVL77: 935 004e FFF7FEFF bl USB_ActivateEndpoint 936 .LVL78: 1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 937 .loc 1 1389 0 discriminator 2 938 0052 0023 movs r3, #0 939 0054 2B55 strb r3, [r5, r4] 1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 42 1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return ret; 940 .loc 1 1391 0 discriminator 2 941 0056 0020 movs r0, #0 942 .L52: 1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 943 .loc 1 1392 0 944 @ sp needed 945 .LVL79: 946 0058 70BD pop {r4, r5, r6, pc} 947 .LVL80: 948 .L54: 1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U; 949 .loc 1 1363 0 950 005a 0724 movs r4, #7 951 005c 0C40 ands r4, r1 952 005e 6401 lsls r4, r4, #5 953 0060 2000 movs r0, r4 954 0062 2830 adds r0, r0, #40 955 0064 2818 adds r0, r5, r0 956 .LVL81: 1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 957 .loc 1 1364 0 958 0066 2C19 adds r4, r5, r4 959 0068 2934 adds r4, r4, #41 960 006a 0126 movs r6, #1 961 006c 2670 strb r6, [r4] 962 006e D8E7 b .L49 963 .LVL82: 964 .L55: 1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 965 .loc 1 1384 0 966 0070 0023 movs r3, #0 967 .LVL83: 968 0072 0371 strb r3, [r0, #4] 969 0074 E0E7 b .L51 970 .L53: 1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 971 .loc 1 1387 0 972 0076 0220 movs r0, #2 973 .LVL84: 974 0078 EEE7 b .L52 975 .cfi_endproc 976 .LFE61: 978 .section .text.HAL_PCD_EP_Close,"ax",%progbits 979 .align 1 980 .global HAL_PCD_EP_Close 981 .syntax unified 982 .code 16 983 .thumb_func 984 .fpu softvfp 986 HAL_PCD_EP_Close: 987 .LFB62: 1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Deactivate an endpoint. 1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address ARM GAS /tmp/ccYuHakw.s page 43 1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 988 .loc 1 1401 0 989 .cfi_startproc 990 @ args = 0, pretend = 0, frame = 0 991 @ frame_needed = 0, uses_anonymous_args = 0 992 .LVL85: 993 0000 70B5 push {r4, r5, r6, lr} 994 .LCFI9: 995 .cfi_def_cfa_offset 16 996 .cfi_offset 4, -16 997 .cfi_offset 5, -12 998 .cfi_offset 6, -8 999 .cfi_offset 14, -4 1000 0002 0400 movs r4, r0 1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & 0x80U) == 0x80U) 1001 .loc 1 1404 0 1002 0004 4BB2 sxtb r3, r1 1003 0006 002B cmp r3, #0 1004 0008 1FDB blt .L61 1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U; 1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 1005 .loc 1 1411 0 1006 000a 0723 movs r3, #7 1007 000c 0B40 ands r3, r1 1008 000e 5B01 lsls r3, r3, #5 1009 0010 1A00 movs r2, r3 1010 0012 2932 adds r2, r2, #41 1011 0014 FF32 adds r2, r2, #255 1012 0016 8218 adds r2, r0, r2 1013 .LVL86: 1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U; 1014 .loc 1 1412 0 1015 0018 C318 adds r3, r0, r3 1016 001a 2A33 adds r3, r3, #42 1017 001c FF33 adds r3, r3, #255 1018 001e 0020 movs r0, #0 1019 .LVL87: 1020 0020 1870 strb r0, [r3] 1021 .L58: 1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1022 .loc 1 1414 0 1023 0022 0723 movs r3, #7 1024 0024 1940 ands r1, r3 1025 .LVL88: 1026 0026 1170 strb r1, [r2] 1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 44 1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1027 .loc 1 1416 0 1028 0028 8A23 movs r3, #138 1029 002a 9B00 lsls r3, r3, #2 1030 002c E35C ldrb r3, [r4, r3] 1031 002e 012B cmp r3, #1 1032 0030 16D0 beq .L60 1033 .loc 1 1416 0 is_stmt 0 discriminator 2 1034 0032 8A25 movs r5, #138 1035 0034 AD00 lsls r5, r5, #2 1036 0036 0123 movs r3, #1 1037 0038 6355 strb r3, [r4, r5] 1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 1038 .loc 1 1417 0 is_stmt 1 discriminator 2 1039 003a 1100 movs r1, r2 1040 003c 2068 ldr r0, [r4] 1041 003e FFF7FEFF bl USB_DeactivateEndpoint 1042 .LVL89: 1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1043 .loc 1 1418 0 discriminator 2 1044 0042 0023 movs r3, #0 1045 0044 6355 strb r3, [r4, r5] 1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 1046 .loc 1 1419 0 discriminator 2 1047 0046 0020 movs r0, #0 1048 .L59: 1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1049 .loc 1 1420 0 1050 @ sp needed 1051 .LVL90: 1052 0048 70BD pop {r4, r5, r6, pc} 1053 .LVL91: 1054 .L61: 1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U; 1055 .loc 1 1406 0 1056 004a 0723 movs r3, #7 1057 004c 0B40 ands r3, r1 1058 004e 5B01 lsls r3, r3, #5 1059 0050 1A00 movs r2, r3 1060 0052 2832 adds r2, r2, #40 1061 0054 8218 adds r2, r0, r2 1062 .LVL92: 1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1063 .loc 1 1407 0 1064 0056 C318 adds r3, r0, r3 1065 0058 2933 adds r3, r3, #41 1066 005a 0120 movs r0, #1 1067 .LVL93: 1068 005c 1870 strb r0, [r3] 1069 005e E0E7 b .L58 1070 .LVL94: 1071 .L60: 1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 1072 .loc 1 1416 0 1073 0060 0220 movs r0, #2 1074 0062 F1E7 b .L59 1075 .cfi_endproc ARM GAS /tmp/ccYuHakw.s page 45 1076 .LFE62: 1078 .section .text.HAL_PCD_EP_Receive,"ax",%progbits 1079 .align 1 1080 .global HAL_PCD_EP_Receive 1081 .syntax unified 1082 .code 16 1083 .thumb_func 1084 .fpu softvfp 1086 HAL_PCD_EP_Receive: 1087 .LFB63: 1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Receive an amount of data. 1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address 1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pBuf pointer to the reception buffer 1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param len amount of data to be received 1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint3 1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1088 .loc 1 1432 0 1089 .cfi_startproc 1090 @ args = 0, pretend = 0, frame = 0 1091 @ frame_needed = 0, uses_anonymous_args = 0 1092 .LVL95: 1093 0000 70B5 push {r4, r5, r6, lr} 1094 .LCFI10: 1095 .cfi_def_cfa_offset 16 1096 .cfi_offset 4, -16 1097 .cfi_offset 5, -12 1098 .cfi_offset 6, -8 1099 .cfi_offset 14, -4 1100 0002 0725 movs r5, #7 1101 0004 0D40 ands r5, r1 1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 1102 .loc 1 1435 0 1103 0006 6C01 lsls r4, r5, #5 1104 0008 2100 movs r1, r4 1105 .LVL96: 1106 000a 2931 adds r1, r1, #41 1107 000c FF31 adds r1, r1, #255 1108 000e 4118 adds r1, r0, r1 1109 .LVL97: 1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*setup and start the Xfer */ 1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff = pBuf; 1110 .loc 1 1438 0 1111 0010 0419 adds r4, r0, r4 1112 0012 2600 movs r6, r4 1113 0014 3D36 adds r6, r6, #61 1114 0016 FF36 adds r6, r6, #255 1115 0018 3260 str r2, [r6] 1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_len = len; ARM GAS /tmp/ccYuHakw.s page 46 1116 .loc 1 1439 0 1117 001a 2A00 movs r2, r5 1118 .LVL98: 1119 001c 0A32 adds r2, r2, #10 1120 001e 5201 lsls r2, r2, #5 1121 0020 1350 str r3, [r2, r0] 1122 .LVL99: 1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = 0U; 1123 .loc 1 1440 0 1124 0022 8218 adds r2, r0, r2 1125 0024 0023 movs r3, #0 1126 .LVL100: 1127 0026 5360 str r3, [r2, #4] 1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U; 1128 .loc 1 1441 0 1129 0028 2200 movs r2, r4 1130 .LVL101: 1131 002a 2A32 adds r2, r2, #42 1132 002c FF32 adds r2, r2, #255 1133 002e 1370 strb r3, [r2] 1134 .LVL102: 1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1135 .loc 1 1442 0 1136 0030 2934 adds r4, r4, #41 1137 0032 FF34 adds r4, r4, #255 1138 0034 2570 strb r5, [r4] 1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U) 1139 .loc 1 1444 0 1140 0036 002D cmp r5, #0 1141 0038 04D0 beq .L65 1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EP0StartXfer(hpcd->Instance, ep); 1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPStartXfer(hpcd->Instance, ep); 1142 .loc 1 1450 0 1143 003a 0068 ldr r0, [r0] 1144 .LVL103: 1145 003c FFF7FEFF bl USB_EPStartXfer 1146 .LVL104: 1147 .L64: 1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1148 .loc 1 1454 0 1149 0040 0020 movs r0, #0 1150 @ sp needed 1151 .LVL105: 1152 0042 70BD pop {r4, r5, r6, pc} 1153 .LVL106: 1154 .L65: 1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1155 .loc 1 1446 0 1156 0044 0068 ldr r0, [r0] ARM GAS /tmp/ccYuHakw.s page 47 1157 .LVL107: 1158 0046 FFF7FEFF bl USB_EPStartXfer 1159 .LVL108: 1160 004a F9E7 b .L64 1161 .cfi_endproc 1162 .LFE63: 1164 .section .text.HAL_PCD_EP_GetRxCount,"ax",%progbits 1165 .align 1 1166 .global HAL_PCD_EP_GetRxCount 1167 .syntax unified 1168 .code 16 1169 .thumb_func 1170 .fpu softvfp 1172 HAL_PCD_EP_GetRxCount: 1173 .LFB64: 1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Get Received Data Size 1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address 1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval Data Size 1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint32_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1174 .loc 1 1463 0 1175 .cfi_startproc 1176 @ args = 0, pretend = 0, frame = 0 1177 @ frame_needed = 0, uses_anonymous_args = 0 1178 @ link register save eliminated. 1179 .LVL109: 1180 0000 0B00 movs r3, r1 1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count; 1181 .loc 1 1464 0 1182 0002 0721 movs r1, #7 1183 .LVL110: 1184 0004 1940 ands r1, r3 1185 0006 0A31 adds r1, r1, #10 1186 0008 4901 lsls r1, r1, #5 1187 000a 4018 adds r0, r0, r1 1188 .LVL111: 1189 000c 4068 ldr r0, [r0, #4] 1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1190 .loc 1 1465 0 1191 @ sp needed 1192 000e 7047 bx lr 1193 .cfi_endproc 1194 .LFE64: 1196 .section .text.HAL_PCD_EP_Transmit,"ax",%progbits 1197 .align 1 1198 .global HAL_PCD_EP_Transmit 1199 .syntax unified 1200 .code 16 1201 .thumb_func 1202 .fpu softvfp 1204 HAL_PCD_EP_Transmit: 1205 .LFB65: 1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** ARM GAS /tmp/ccYuHakw.s page 48 1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Send an amount of data 1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address 1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pBuf pointer to the transmission buffer 1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param len amount of data to be sent 1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint 1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1206 .loc 1 1475 0 1207 .cfi_startproc 1208 @ args = 0, pretend = 0, frame = 0 1209 @ frame_needed = 0, uses_anonymous_args = 0 1210 .LVL112: 1211 0000 70B5 push {r4, r5, r6, lr} 1212 .LCFI11: 1213 .cfi_def_cfa_offset 16 1214 .cfi_offset 4, -16 1215 .cfi_offset 5, -12 1216 .cfi_offset 6, -8 1217 .cfi_offset 14, -4 1218 0002 0725 movs r5, #7 1219 0004 0D40 ands r5, r1 1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1220 .loc 1 1478 0 1221 0006 6C01 lsls r4, r5, #5 1222 0008 2100 movs r1, r4 1223 .LVL113: 1224 000a 2831 adds r1, r1, #40 1225 000c 4118 adds r1, r0, r1 1226 .LVL114: 1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*setup and start the Xfer */ 1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff = pBuf; 1227 .loc 1 1481 0 1228 000e 0419 adds r4, r0, r4 1229 0010 E263 str r2, [r4, #60] 1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_len = len; 1230 .loc 1 1482 0 1231 0012 AA1C adds r2, r5, #2 1232 .LVL115: 1233 0014 5201 lsls r2, r2, #5 1234 0016 1350 str r3, [r2, r0] 1235 .LVL116: 1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = 0U; 1236 .loc 1 1483 0 1237 0018 8218 adds r2, r0, r2 1238 001a 0023 movs r3, #0 1239 .LVL117: 1240 001c 5360 str r3, [r2, #4] 1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U; 1241 .loc 1 1484 0 1242 001e 2300 movs r3, r4 1243 0020 2933 adds r3, r3, #41 1244 0022 0122 movs r2, #1 ARM GAS /tmp/ccYuHakw.s page 49 1245 .LVL118: 1246 0024 1A70 strb r2, [r3] 1247 .LVL119: 1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1248 .loc 1 1485 0 1249 0026 2834 adds r4, r4, #40 1250 0028 2570 strb r5, [r4] 1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U) 1251 .loc 1 1487 0 1252 002a 002D cmp r5, #0 1253 002c 04D0 beq .L70 1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EP0StartXfer(hpcd->Instance, ep); 1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPStartXfer(hpcd->Instance, ep); 1254 .loc 1 1493 0 1255 002e 0068 ldr r0, [r0] 1256 .LVL120: 1257 0030 FFF7FEFF bl USB_EPStartXfer 1258 .LVL121: 1259 .L69: 1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1260 .loc 1 1497 0 1261 0034 0020 movs r0, #0 1262 @ sp needed 1263 .LVL122: 1264 0036 70BD pop {r4, r5, r6, pc} 1265 .LVL123: 1266 .L70: 1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1267 .loc 1 1489 0 1268 0038 0068 ldr r0, [r0] 1269 .LVL124: 1270 003a FFF7FEFF bl USB_EPStartXfer 1271 .LVL125: 1272 003e F9E7 b .L69 1273 .cfi_endproc 1274 .LFE65: 1276 .section .text.PCD_EP_ISR_Handler,"ax",%progbits 1277 .align 1 1278 .syntax unified 1279 .code 16 1280 .thumb_func 1281 .fpu softvfp 1283 PCD_EP_ISR_Handler: 1284 .LFB72: 1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Set a STALL condition over an endpoint 1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address ARM GAS /tmp/ccYuHakw.s page 50 1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (((uint32_t)ep_addr & EP_ADDR_MSK) > hpcd->Init.dev_endpoints) 1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR; 1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((0x80U & ep_addr) == 0x80U) 1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U; 1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr]; 1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U; 1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_stall = 1U; 1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPSetStall(hpcd->Instance, ep); 1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U) 1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t *)hpcd->Setup); 1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Clear a STALL condition over in an endpoint 1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address 1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (((uint32_t)ep_addr & 0x0FU) > hpcd->Init.dev_endpoints) 1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR; 1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((0x80U & ep_addr) == 0x80U) 1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U; 1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } ARM GAS /tmp/ccYuHakw.s page 51 1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U; 1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_stall = 0U; 1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep); 1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Flush an endpoint 1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address 1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Flush(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd); 1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(ep_addr); 1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Activate remote wakeup signalling 1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_ActivateRemoteWakeup(PCD_HandleTypeDef *hpcd) 1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return (USB_ActivateRemoteWakeup(hpcd->Instance)); 1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief De-activate remote wakeup signalling. 1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DeActivateRemoteWakeup(PCD_HandleTypeDef *hpcd) 1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return (USB_DeActivateRemoteWakeup(hpcd->Instance)); 1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @} 1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group4 Peripheral State functions 1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Peripheral State functions ARM GAS /tmp/ccYuHakw.s page 52 1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * 1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @verbatim 1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** =============================================================================== 1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ##### Peripheral State functions ##### 1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** =============================================================================== 1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** [..] 1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** This subsection permits to get in run-time the status of the peripheral 1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** and the data flow. 1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @endverbatim 1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{ 1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Return the PCD handle state. 1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL state 1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_StateTypeDef HAL_PCD_GetState(PCD_HandleTypeDef *hpcd) 1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return hpcd->State; 1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @} 1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @} 1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private functions ---------------------------------------------------------*/ 1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @addtogroup PCD_Private_Functions 1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{ 1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** 1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief This function handles PCD Endpoint interrupt request. 1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle 1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status 1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */ 1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_ISR_Handler(PCD_HandleTypeDef *hpcd) 1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1285 .loc 1 1660 0 1286 .cfi_startproc 1287 @ args = 0, pretend = 0, frame = 0 1288 @ frame_needed = 0, uses_anonymous_args = 0 1289 .LVL126: 1290 0000 F0B5 push {r4, r5, r6, r7, lr} 1291 .LCFI12: 1292 .cfi_def_cfa_offset 20 1293 .cfi_offset 4, -20 1294 .cfi_offset 5, -16 1295 .cfi_offset 6, -12 1296 .cfi_offset 7, -8 1297 .cfi_offset 14, -4 ARM GAS /tmp/ccYuHakw.s page 53 1298 0002 C646 mov lr, r8 1299 0004 00B5 push {lr} 1300 .LCFI13: 1301 .cfi_def_cfa_offset 24 1302 .cfi_offset 8, -24 1303 0006 0500 movs r5, r0 1304 .LVL127: 1305 .L72: 1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint16_t count; 1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint16_t wIstr; 1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint16_t wEPVal; 1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint8_t epindex; 1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* stay in loop while pending interrupts */ 1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** while ((hpcd->Instance->ISTR & USB_ISTR_CTR) != 0U) 1306 .loc 1 1668 0 1307 0008 2868 ldr r0, [r5] 1308 000a 4423 movs r3, #68 1309 000c C35A ldrh r3, [r0, r3] 1310 000e 1BB2 sxth r3, r3 1311 0010 002B cmp r3, #0 1312 0012 00DB blt .LCB1072 1313 0014 AAE1 b .L92 @long jump 1314 .LCB1072: 1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** wIstr = hpcd->Instance->ISTR; 1315 .loc 1 1670 0 1316 0016 4423 movs r3, #68 1317 0018 C35A ldrh r3, [r0, r3] 1318 001a 9BB2 uxth r3, r3 1319 .LVL128: 1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* extract highest priority endpoint number */ 1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** epindex = (uint8_t)(wIstr & USB_ISTR_EP_ID); 1320 .loc 1 1672 0 1321 001c 0F24 movs r4, #15 1322 001e 1C40 ands r4, r3 1323 .LVL129: 1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (epindex == 0U) 1324 .loc 1 1674 0 1325 0020 00D0 beq .LCB1083 1326 0022 BCE0 b .L73 @long jump 1327 .LCB1083: 1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Decode and service control endpoint interrupt */ 1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR bit = origin of the interrupt */ 1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((wIstr & USB_ISTR_DIR) == 0U) 1328 .loc 1 1679 0 1329 0024 DB06 lsls r3, r3, #27 1330 0026 51D5 bpl .L93 1331 .LVL130: 1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 0 */ 1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 0 => IN int */ ARM GAS /tmp/ccYuHakw.s page 54 1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 0 implies that (EP_CTR_TX = 1) always */ 1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_CLEAR_TX_EP_CTR(hpcd->Instance, PCD_ENDP0); 1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[0]; 1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num); 1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += ep->xfer_count; 1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* TX COMPLETE */ 1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataInStageCallback(hpcd, 0U); 1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_DataInStageCallback(hpcd, 0U); 1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((hpcd->USB_Address > 0U) && (ep->xfer_len == 0U)) 1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->DADDR = ((uint16_t)hpcd->USB_Address | USB_DADDR_EF); 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->USB_Address = 0U; 1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 1 */ 1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 1 & CTR_RX => SETUP or OUT int */ 1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 1 & (CTR_TX | CTR_RX) => 2 int pending */ 1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[0]; 1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** wEPVal = PCD_GET_ENDPOINT(hpcd->Instance, PCD_ENDP0); 1332 .loc 1 1711 0 1333 0028 0388 ldrh r3, [r0] 1334 002a 9BB2 uxth r3, r3 1335 .LVL131: 1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((wEPVal & USB_EP_SETUP) != 0U) 1336 .loc 1 1713 0 1337 002c 1A05 lsls r2, r3, #20 1338 002e 00D5 bpl .LCB1098 1339 0030 7FE0 b .L94 @long jump 1340 .LCB1098: 1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Get SETUP Packet*/ 1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); 1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** USB_ReadPMA(hpcd->Instance, (uint8_t *)hpcd->Setup, 1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->pmaadress, (uint16_t)ep->xfer_count); 1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* SETUP bit kept frozen while CTR_RX = 1*/ 1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_CLEAR_RX_EP_CTR(hpcd->Instance, PCD_ENDP0); 1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process SETUP Packet*/ 1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SetupStageCallback(hpcd); 1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_SetupStageCallback(hpcd); 1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 55 1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else if ((wEPVal & USB_EP_CTR_RX) != 0U) 1341 .loc 1 1732 0 1342 0032 1BB2 sxth r3, r3 1343 0034 002B cmp r3, #0 1344 0036 E7DA bge .L72 1345 .LBB2: 1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_CLEAR_RX_EP_CTR(hpcd->Instance, PCD_ENDP0); 1346 .loc 1 1734 0 1347 0038 0388 ldrh r3, [r0] 1348 .LVL132: 1349 003a CE4A ldr r2, .L97 1350 003c 1340 ands r3, r2 1351 .LVL133: 1352 003e 8022 movs r2, #128 1353 0040 1343 orrs r3, r2 1354 .LVL134: 1355 0042 0380 strh r3, [r0] 1356 .LBE2: 1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Get Control Data OUT Packet*/ 1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); 1357 .loc 1 1737 0 1358 0044 2868 ldr r0, [r5] 1359 0046 5023 movs r3, #80 1360 0048 C35A ldrh r3, [r0, r3] 1361 004a 9422 movs r2, #148 1362 004c 5200 lsls r2, r2, #1 1363 004e AA5C ldrb r2, [r5, r2] 1364 0050 D200 lsls r2, r2, #3 1365 0052 9B18 adds r3, r3, r2 1366 0054 1B18 adds r3, r3, r0 1367 0056 C84A ldr r2, .L97+4 1368 0058 9446 mov ip, r2 1369 005a 6344 add r3, r3, ip 1370 005c 1B88 ldrh r3, [r3] 1371 005e 9B05 lsls r3, r3, #22 1372 0060 9B0D lsrs r3, r3, #22 1373 0062 2A00 movs r2, r5 1374 0064 2932 adds r2, r2, #41 1375 0066 FF32 adds r2, r2, #255 1376 0068 D361 str r3, [r2, #28] 1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep->xfer_count != 0U) && (ep->xfer_buff != 0U)) 1377 .loc 1 1739 0 1378 006a 002B cmp r3, #0 1379 006c 0FD0 beq .L77 1380 .loc 1 1739 0 is_stmt 0 discriminator 1 1381 006e 5169 ldr r1, [r2, #20] 1382 0070 0029 cmp r1, #0 1383 0072 0CD0 beq .L77 1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** USB_ReadPMA(hpcd->Instance, ep->xfer_buff, 1384 .loc 1 1741 0 is_stmt 1 1385 0074 1400 movs r4, r2 1386 .LVL135: 1387 0076 D288 ldrh r2, [r2, #6] ARM GAS /tmp/ccYuHakw.s page 56 1388 0078 FFF7FEFF bl USB_ReadPMA 1389 .LVL136: 1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->pmaadress, (uint16_t)ep->xfer_count); 1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += ep->xfer_count; 1390 .loc 1 1744 0 1391 007c 6369 ldr r3, [r4, #20] 1392 007e E269 ldr r2, [r4, #28] 1393 0080 9446 mov ip, r2 1394 0082 6344 add r3, r3, ip 1395 0084 6361 str r3, [r4, #20] 1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process Control Data OUT Packet*/ 1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataOutStageCallback(hpcd, 0U); 1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_DataOutStageCallback(hpcd, 0U); 1396 .loc 1 1750 0 1397 0086 0021 movs r1, #0 1398 0088 2800 movs r0, r5 1399 008a FFF7FEFF bl HAL_PCD_DataOutStageCallback 1400 .LVL137: 1401 .L77: 1402 .LBB3: 1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_CNT(hpcd->Instance, PCD_ENDP0, ep->maxpacket); 1403 .loc 1 1754 0 1404 008e 2B68 ldr r3, [r5] 1405 .LVL138: 1406 0090 5022 movs r2, #80 1407 0092 9A5A ldrh r2, [r3, r2] 1408 0094 9B18 adds r3, r3, r2 1409 .LVL139: 1410 0096 B84A ldr r2, .L97+4 1411 0098 9446 mov ip, r2 1412 009a 6344 add r3, r3, ip 1413 .LVL140: 1414 .LBB4: 1415 009c 2A00 movs r2, r5 1416 009e 2932 adds r2, r2, #41 1417 00a0 FF32 adds r2, r2, #255 1418 00a2 1269 ldr r2, [r2, #16] 1419 00a4 002A cmp r2, #0 1420 00a6 67D1 bne .L78 1421 .loc 1 1754 0 is_stmt 0 discriminator 1 1422 00a8 1A88 ldrh r2, [r3] 1423 00aa B449 ldr r1, .L97+8 1424 00ac 1140 ands r1, r2 1425 00ae B44A ldr r2, .L97+12 1426 00b0 0A43 orrs r2, r1 1427 00b2 1A80 strh r2, [r3] 1428 .L79: 1429 .LBE4: 1430 .LBE3: 1431 .LBB6: ARM GAS /tmp/ccYuHakw.s page 57 1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID); 1432 .loc 1 1755 0 is_stmt 1 1433 00b4 2968 ldr r1, [r5] 1434 00b6 0A88 ldrh r2, [r1] 1435 00b8 B24B ldr r3, .L97+16 1436 .LVL141: 1437 00ba 1A40 ands r2, r3 1438 .LVL142: 1439 00bc C023 movs r3, #192 1440 00be 9B01 lsls r3, r3, #6 1441 00c0 5A40 eors r2, r3 1442 .LVL143: 1443 00c2 B14B ldr r3, .L97+20 1444 00c4 1343 orrs r3, r2 1445 00c6 9BB2 uxth r3, r3 1446 00c8 0B80 strh r3, [r1] 1447 00ca 9DE7 b .L72 1448 .LVL144: 1449 .L93: 1450 .LBE6: 1451 .LBB7: 1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[0]; 1452 .loc 1 1685 0 1453 00cc 0388 ldrh r3, [r0] 1454 00ce AF4A ldr r2, .L97+24 1455 00d0 1A40 ands r2, r3 1456 .LVL145: 1457 00d2 AB4B ldr r3, .L97+12 1458 00d4 1343 orrs r3, r2 1459 00d6 9BB2 uxth r3, r3 1460 00d8 0380 strh r3, [r0] 1461 .LVL146: 1462 .LBE7: 1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += ep->xfer_count; 1463 .loc 1 1688 0 1464 00da 2968 ldr r1, [r5] 1465 00dc 5023 movs r3, #80 1466 00de CB5A ldrh r3, [r1, r3] 1467 00e0 2822 movs r2, #40 1468 .LVL147: 1469 00e2 AA5C ldrb r2, [r5, r2] 1470 00e4 D200 lsls r2, r2, #3 1471 00e6 9B18 adds r3, r3, r2 1472 00e8 5B18 adds r3, r3, r1 1473 00ea A94A ldr r2, .L97+28 1474 00ec 9446 mov ip, r2 1475 00ee 6344 add r3, r3, ip 1476 00f0 1B88 ldrh r3, [r3] 1477 00f2 9B05 lsls r3, r3, #22 1478 00f4 9B0D lsrs r3, r3, #22 1479 00f6 6B64 str r3, [r5, #68] 1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1480 .loc 1 1689 0 1481 00f8 EA6B ldr r2, [r5, #60] 1482 00fa 9446 mov ip, r2 1483 00fc 6344 add r3, r3, ip 1484 00fe EB63 str r3, [r5, #60] ARM GAS /tmp/ccYuHakw.s page 58 1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1485 .loc 1 1695 0 1486 0100 0021 movs r1, #0 1487 0102 2800 movs r0, r5 1488 0104 FFF7FEFF bl HAL_PCD_DataInStageCallback 1489 .LVL148: 1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1490 .loc 1 1698 0 1491 0108 2423 movs r3, #36 1492 010a EB5C ldrb r3, [r5, r3] 1493 010c 002B cmp r3, #0 1494 010e 00D1 bne .LCB1270 1495 0110 7AE7 b .L72 @long jump 1496 .LCB1270: 1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1497 .loc 1 1698 0 is_stmt 0 discriminator 1 1498 0112 2B6C ldr r3, [r5, #64] 1499 0114 002B cmp r3, #0 1500 0116 00D0 beq .LCB1274 1501 0118 76E7 b .L72 @long jump 1502 .LCB1274: 1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->USB_Address = 0U; 1503 .loc 1 1700 0 is_stmt 1 1504 011a 2422 movs r2, #36 1505 011c AB5C ldrb r3, [r5, r2] 1506 011e 8021 movs r1, #128 1507 0120 4942 rsbs r1, r1, #0 1508 0122 0B43 orrs r3, r1 1509 0124 DBB2 uxtb r3, r3 1510 0126 CC31 adds r1, r1, #204 1511 0128 2868 ldr r0, [r5] 1512 012a 4352 strh r3, [r0, r1] 1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1513 .loc 1 1701 0 1514 012c 0023 movs r3, #0 1515 012e AB54 strb r3, [r5, r2] 1516 0130 6AE7 b .L72 1517 .LVL149: 1518 .L94: 1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1519 .loc 1 1716 0 1520 0132 5023 movs r3, #80 1521 .LVL150: 1522 0134 C35A ldrh r3, [r0, r3] 1523 0136 9422 movs r2, #148 1524 0138 5200 lsls r2, r2, #1 1525 013a AA5C ldrb r2, [r5, r2] 1526 013c D200 lsls r2, r2, #3 1527 013e 9B18 adds r3, r3, r2 1528 0140 1B18 adds r3, r3, r0 1529 0142 8D4A ldr r2, .L97+4 1530 0144 9446 mov ip, r2 1531 0146 6344 add r3, r3, ip 1532 0148 1B88 ldrh r3, [r3] 1533 014a 9B05 lsls r3, r3, #22 1534 014c 9B0D lsrs r3, r3, #22 1535 014e 2A00 movs r2, r5 ARM GAS /tmp/ccYuHakw.s page 59 1536 0150 2932 adds r2, r2, #41 1537 0152 FF32 adds r2, r2, #255 1538 0154 D361 str r3, [r2, #28] 1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->pmaadress, (uint16_t)ep->xfer_count); 1539 .loc 1 1718 0 1540 0156 8C21 movs r1, #140 1541 0158 8900 lsls r1, r1, #2 1542 015a 6918 adds r1, r5, r1 1543 015c D288 ldrh r2, [r2, #6] 1544 015e FFF7FEFF bl USB_ReadPMA 1545 .LVL151: 1546 .LBB8: 1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1547 .loc 1 1722 0 1548 0162 2A68 ldr r2, [r5] 1549 0164 1388 ldrh r3, [r2] 1550 0166 8349 ldr r1, .L97 1551 0168 0B40 ands r3, r1 1552 .LVL152: 1553 016a 8021 movs r1, #128 1554 016c 0B43 orrs r3, r1 1555 .LVL153: 1556 016e 1380 strh r3, [r2] 1557 .LBE8: 1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1558 .loc 1 1728 0 1559 0170 2800 movs r0, r5 1560 0172 FFF7FEFF bl HAL_PCD_SetupStageCallback 1561 .LVL154: 1562 0176 47E7 b .L72 1563 .LVL155: 1564 .L78: 1565 .LBB9: 1566 .LBB5: 1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID); 1567 .loc 1 1754 0 discriminator 2 1568 0178 3E2A cmp r2, #62 1569 017a 06D8 bhi .L80 1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID); 1570 .loc 1 1754 0 is_stmt 0 discriminator 3 1571 017c 5108 lsrs r1, r2, #1 1572 .LVL156: 1573 017e D207 lsls r2, r2, #31 1574 0180 00D5 bpl .L81 1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID); 1575 .loc 1 1754 0 discriminator 5 1576 0182 0131 adds r1, r1, #1 1577 .LVL157: 1578 .L81: 1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID); 1579 .loc 1 1754 0 discriminator 7 1580 0184 8902 lsls r1, r1, #10 1581 .LVL158: 1582 0186 1980 strh r1, [r3] 1583 0188 94E7 b .L79 1584 .L80: 1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID); ARM GAS /tmp/ccYuHakw.s page 60 1585 .loc 1 1754 0 discriminator 4 1586 018a 5109 lsrs r1, r2, #5 1587 .LVL159: 1588 018c D206 lsls r2, r2, #27 1589 018e 00D1 bne .L82 1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID); 1590 .loc 1 1754 0 discriminator 8 1591 0190 0139 subs r1, r1, #1 1592 .LVL160: 1593 .L82: 1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID); 1594 .loc 1 1754 0 discriminator 10 1595 0192 8902 lsls r1, r1, #10 1596 .LVL161: 1597 0194 89B2 uxth r1, r1 1598 0196 7A4A ldr r2, .L97+12 1599 0198 1143 orrs r1, r2 1600 019a 1980 strh r1, [r3] 1601 019c 8AE7 b .L79 1602 .LVL162: 1603 .L73: 1604 .LBE5: 1605 .LBE9: 1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Decode and service non control endpoints interrupt */ 1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* process related endpoint register */ 1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** wEPVal = PCD_GET_ENDPOINT(hpcd->Instance, epindex); 1606 .loc 1 1764 0 is_stmt 1 1607 019e A300 lsls r3, r4, #2 1608 .LVL163: 1609 01a0 9846 mov r8, r3 1610 01a2 4044 add r0, r0, r8 1611 01a4 0688 ldrh r6, [r0] 1612 01a6 B6B2 uxth r6, r6 1613 .LVL164: 1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((wEPVal & USB_EP_CTR_RX) != 0U) 1614 .loc 1 1765 0 1615 01a8 33B2 sxth r3, r6 1616 01aa 002B cmp r3, #0 1617 01ac 30DB blt .L95 1618 .L83: 1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* clear int flag */ 1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_CLEAR_RX_EP_CTR(hpcd->Instance, epindex); 1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[epindex]; 1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* OUT double Buffering*/ 1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (ep->doublebuffer == 0U) 1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** count = (uint16_t)PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num); 1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U) 1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { ARM GAS /tmp/ccYuHakw.s page 61 1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaadress, count); 1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((PCD_GET_ENDPOINT(hpcd->Instance, ep->num) & USB_EP_DTOG_RX) != 0U) 1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*read from endpoint BUF0Addr buffer*/ 1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** count = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num); 1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U) 1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count); 1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*read from endpoint BUF1Addr buffer*/ 1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** count = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num); 1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U) 1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count); 1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* free EP OUT Buffer */ 1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_FreeUserBuffer(hpcd->Instance, ep->num, 0U); 1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*multi-packet on the NON control OUT endpoint*/ 1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count += count; 1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += count; 1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep->xfer_len == 0U) || (count < ep->maxpacket)) 1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* RX COMPLETE */ 1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataOutStageCallback(hpcd, ep->num); 1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_DataOutStageCallback(hpcd, ep->num); 1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)HAL_PCD_EP_Receive(hpcd, ep->num, ep->xfer_buff, ep->xfer_len); 1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } /* if((wEPVal & EP_CTR_RX) */ 1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((wEPVal & USB_EP_CTR_TX) != 0U) 1619 .loc 1 1823 0 1620 01ae 3306 lsls r3, r6, #24 1621 01b0 00D4 bmi .LCB1430 1622 01b2 29E7 b .L72 @long jump 1623 .LCB1430: 1624 .LVL165: 1625 .LBB10: 1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[epindex]; 1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ARM GAS /tmp/ccYuHakw.s page 62 1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* clear int flag */ 1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_CLEAR_TX_EP_CTR(hpcd->Instance, epindex); 1626 .loc 1 1828 0 1627 01b4 2B68 ldr r3, [r5] 1628 01b6 4344 add r3, r3, r8 1629 01b8 1A00 movs r2, r3 1630 01ba 1B88 ldrh r3, [r3] 1631 01bc 7349 ldr r1, .L97+24 1632 01be 1940 ands r1, r3 1633 .LVL166: 1634 01c0 6F4B ldr r3, .L97+12 1635 01c2 0B43 orrs r3, r1 1636 01c4 9BB2 uxth r3, r3 1637 01c6 1380 strh r3, [r2] 1638 .LBE10: 1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*multi-packet on the NON control IN endpoint*/ 1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num); 1639 .loc 1 1831 0 1640 01c8 2868 ldr r0, [r5] 1641 01ca 5023 movs r3, #80 1642 01cc C35A ldrh r3, [r0, r3] 1643 01ce 6101 lsls r1, r4, #5 1644 .LVL167: 1645 01d0 6918 adds r1, r5, r1 1646 01d2 0A00 movs r2, r1 1647 01d4 2832 adds r2, r2, #40 1648 .LVL168: 1649 01d6 1278 ldrb r2, [r2] 1650 .LVL169: 1651 01d8 D200 lsls r2, r2, #3 1652 01da 9B18 adds r3, r3, r2 1653 01dc 1B18 adds r3, r3, r0 1654 01de 6C4A ldr r2, .L97+28 1655 01e0 9446 mov ip, r2 1656 01e2 6344 add r3, r3, ip 1657 01e4 1A88 ldrh r2, [r3] 1658 01e6 9205 lsls r2, r2, #22 1659 01e8 920D lsrs r2, r2, #22 1660 01ea A31C adds r3, r4, #2 1661 01ec 5B01 lsls r3, r3, #5 1662 01ee E818 adds r0, r5, r3 1663 01f0 4260 str r2, [r0, #4] 1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += ep->xfer_count; 1664 .loc 1 1832 0 1665 01f2 C86B ldr r0, [r1, #60] 1666 01f4 8446 mov ip, r0 1667 01f6 6244 add r2, r2, ip 1668 01f8 CA63 str r2, [r1, #60] 1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Zero Length Packet? */ 1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (ep->xfer_len == 0U) 1669 .loc 1 1835 0 1670 01fa 5B59 ldr r3, [r3, r5] 1671 01fc 002B cmp r3, #0 1672 01fe 00D0 beq .LCB1481 1673 0200 ACE0 b .L90 @long jump ARM GAS /tmp/ccYuHakw.s page 63 1674 .LCB1481: 1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* TX COMPLETE */ 1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataInStageCallback(hpcd, ep->num); 1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else 1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_DataInStageCallback(hpcd, ep->num); 1675 .loc 1 1841 0 1676 0202 0C00 movs r4, r1 1677 .LVL170: 1678 0204 2834 adds r4, r4, #40 1679 .LVL171: 1680 0206 2178 ldrb r1, [r4] 1681 0208 2800 movs r0, r5 1682 020a FFF7FEFF bl HAL_PCD_DataInStageCallback 1683 .LVL172: 1684 020e FBE6 b .L72 1685 .LVL173: 1686 .L95: 1687 .LBB11: 1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[epindex]; 1688 .loc 1 1768 0 1689 0210 0388 ldrh r3, [r0] 1690 0212 584A ldr r2, .L97 1691 0214 1340 ands r3, r2 1692 .LVL174: 1693 0216 8022 movs r2, #128 1694 0218 1343 orrs r3, r2 1695 .LVL175: 1696 021a 0380 strh r3, [r0] 1697 .LVL176: 1698 .LBE11: 1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1699 .loc 1 1772 0 1700 021c 6301 lsls r3, r4, #5 1701 021e EB18 adds r3, r5, r3 1702 0220 3533 adds r3, r3, #53 1703 0222 FF33 adds r3, r3, #255 1704 0224 1B78 ldrb r3, [r3] 1705 0226 002B cmp r3, #0 1706 0228 1ED1 bne .L84 1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U) 1707 .loc 1 1774 0 1708 022a 2868 ldr r0, [r5] 1709 022c 5033 adds r3, r3, #80 1710 022e C35A ldrh r3, [r0, r3] 1711 0230 6201 lsls r2, r4, #5 1712 0232 AA18 adds r2, r5, r2 1713 0234 2932 adds r2, r2, #41 1714 0236 FF32 adds r2, r2, #255 1715 0238 1278 ldrb r2, [r2] 1716 023a D200 lsls r2, r2, #3 1717 023c 9B18 adds r3, r3, r2 1718 023e 1B18 adds r3, r3, r0 1719 0240 4D4A ldr r2, .L97+4 1720 0242 9446 mov ip, r2 1721 0244 6344 add r3, r3, ip ARM GAS /tmp/ccYuHakw.s page 64 1722 0246 1F88 ldrh r7, [r3] 1723 0248 BF05 lsls r7, r7, #22 1724 024a BF0D lsrs r7, r7, #22 1725 .LVL177: 1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1726 .loc 1 1775 0 1727 024c 33D0 beq .L85 1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1728 .loc 1 1777 0 1729 024e 6301 lsls r3, r4, #5 1730 0250 EB18 adds r3, r5, r3 1731 0252 1A00 movs r2, r3 1732 0254 2F32 adds r2, r2, #47 1733 0256 FF32 adds r2, r2, #255 1734 0258 1288 ldrh r2, [r2] 1735 025a 3D33 adds r3, r3, #61 1736 025c FF33 adds r3, r3, #255 1737 025e 1968 ldr r1, [r3] 1738 0260 3B00 movs r3, r7 1739 0262 FFF7FEFF bl USB_ReadPMA 1740 .LVL178: 1741 0266 26E0 b .L85 1742 .LVL179: 1743 .L84: 1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1744 .loc 1 1782 0 1745 0268 2868 ldr r0, [r5] 1746 026a 6301 lsls r3, r4, #5 1747 026c EB18 adds r3, r5, r3 1748 026e 2933 adds r3, r3, #41 1749 0270 FF33 adds r3, r3, #255 1750 0272 1B78 ldrb r3, [r3] 1751 0274 9A00 lsls r2, r3, #2 1752 0276 8218 adds r2, r0, r2 1753 0278 1288 ldrh r2, [r2] 1754 027a 5204 lsls r2, r2, #17 1755 027c 4BD5 bpl .L86 1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U) 1756 .loc 1 1785 0 1757 027e 5022 movs r2, #80 1758 0280 825A ldrh r2, [r0, r2] 1759 0282 DB00 lsls r3, r3, #3 1760 0284 D318 adds r3, r2, r3 1761 0286 1B18 adds r3, r3, r0 1762 0288 414A ldr r2, .L97+28 1763 028a 9446 mov ip, r2 1764 028c 6344 add r3, r3, ip 1765 028e 1F88 ldrh r7, [r3] 1766 0290 BF05 lsls r7, r7, #22 1767 0292 BF0D lsrs r7, r7, #22 1768 .LVL180: 1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1769 .loc 1 1786 0 1770 0294 32D1 bne .L96 1771 .L87: 1772 .LBB12: 1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } ARM GAS /tmp/ccYuHakw.s page 65 1773 .loc 1 1801 0 discriminator 1 1774 0296 6301 lsls r3, r4, #5 1775 0298 EB18 adds r3, r5, r3 1776 029a 2933 adds r3, r3, #41 1777 029c FF33 adds r3, r3, #255 1778 029e 1A78 ldrb r2, [r3] 1779 02a0 9200 lsls r2, r2, #2 1780 02a2 2B68 ldr r3, [r5] 1781 02a4 9C46 mov ip, r3 1782 02a6 6244 add r2, r2, ip 1783 02a8 1388 ldrh r3, [r2] 1784 02aa 3A49 ldr r1, .L97+32 1785 02ac 1940 ands r1, r3 1786 .LVL181: 1787 02ae 3A4B ldr r3, .L97+36 1788 02b0 0B43 orrs r3, r1 1789 02b2 9BB2 uxth r3, r3 1790 02b4 1380 strh r3, [r2] 1791 .LVL182: 1792 .L85: 1793 .LBE12: 1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += count; 1794 .loc 1 1804 0 1795 02b6 3900 movs r1, r7 1796 02b8 2000 movs r0, r4 1797 02ba 0A30 adds r0, r0, #10 1798 02bc 4001 lsls r0, r0, #5 1799 02be 2A18 adds r2, r5, r0 1800 02c0 5368 ldr r3, [r2, #4] 1801 02c2 DB19 adds r3, r3, r7 1802 02c4 5360 str r3, [r2, #4] 1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 1803 .loc 1 1805 0 1804 02c6 6301 lsls r3, r4, #5 1805 02c8 EB18 adds r3, r5, r3 1806 02ca 3D33 adds r3, r3, #61 1807 02cc FF33 adds r3, r3, #255 1808 02ce 1A68 ldr r2, [r3] 1809 02d0 9446 mov ip, r2 1810 02d2 6744 add r7, r7, ip 1811 .LVL183: 1812 02d4 1F60 str r7, [r3] 1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1813 .loc 1 1807 0 1814 02d6 4359 ldr r3, [r0, r5] 1815 02d8 002B cmp r3, #0 1816 02da 06D0 beq .L88 1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1817 .loc 1 1807 0 is_stmt 0 discriminator 1 1818 02dc 6201 lsls r2, r4, #5 1819 02de AA18 adds r2, r5, r2 1820 02e0 3932 adds r2, r2, #57 1821 02e2 FF32 adds r2, r2, #255 1822 02e4 1268 ldr r2, [r2] 1823 02e6 9142 cmp r1, r2 1824 02e8 2ED2 bcs .L89 1825 .L88: ARM GAS /tmp/ccYuHakw.s page 66 1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1826 .loc 1 1813 0 is_stmt 1 1827 02ea 6301 lsls r3, r4, #5 1828 02ec EB18 adds r3, r5, r3 1829 02ee 2933 adds r3, r3, #41 1830 02f0 FF33 adds r3, r3, #255 1831 02f2 1978 ldrb r1, [r3] 1832 02f4 2800 movs r0, r5 1833 02f6 FFF7FEFF bl HAL_PCD_DataOutStageCallback 1834 .LVL184: 1835 02fa 58E7 b .L83 1836 .LVL185: 1837 .L96: 1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1838 .loc 1 1788 0 1839 02fc 6301 lsls r3, r4, #5 1840 02fe EB18 adds r3, r5, r3 1841 0300 1A00 movs r2, r3 1842 0302 3132 adds r2, r2, #49 1843 0304 FF32 adds r2, r2, #255 1844 0306 1288 ldrh r2, [r2] 1845 0308 3D33 adds r3, r3, #61 1846 030a FF33 adds r3, r3, #255 1847 030c 1968 ldr r1, [r3] 1848 030e 3B00 movs r3, r7 1849 0310 FFF7FEFF bl USB_ReadPMA 1850 .LVL186: 1851 0314 BFE7 b .L87 1852 .LVL187: 1853 .L86: 1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U) 1854 .loc 1 1794 0 1855 0316 5022 movs r2, #80 1856 0318 825A ldrh r2, [r0, r2] 1857 031a DB00 lsls r3, r3, #3 1858 031c D318 adds r3, r2, r3 1859 031e 1B18 adds r3, r3, r0 1860 0320 154A ldr r2, .L97+4 1861 0322 9446 mov ip, r2 1862 0324 6344 add r3, r3, ip 1863 0326 1F88 ldrh r7, [r3] 1864 0328 BF05 lsls r7, r7, #22 1865 032a BF0D lsrs r7, r7, #22 1866 .LVL188: 1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1867 .loc 1 1795 0 1868 032c B3D0 beq .L87 1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1869 .loc 1 1797 0 1870 032e 6301 lsls r3, r4, #5 1871 0330 EB18 adds r3, r5, r3 1872 0332 1A00 movs r2, r3 1873 0334 3332 adds r2, r2, #51 1874 0336 FF32 adds r2, r2, #255 1875 0338 1288 ldrh r2, [r2] 1876 033a 3D33 adds r3, r3, #61 1877 033c FF33 adds r3, r3, #255 ARM GAS /tmp/ccYuHakw.s page 67 1878 033e 1968 ldr r1, [r3] 1879 0340 3B00 movs r3, r7 1880 0342 FFF7FEFF bl USB_ReadPMA 1881 .LVL189: 1882 0346 A6E7 b .L87 1883 .LVL190: 1884 .L89: 1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1885 .loc 1 1818 0 1886 0348 6201 lsls r2, r4, #5 1887 034a AA18 adds r2, r5, r2 1888 034c 2932 adds r2, r2, #41 1889 034e FF32 adds r2, r2, #255 1890 0350 1178 ldrb r1, [r2] 1891 0352 3A00 movs r2, r7 1892 0354 2800 movs r0, r5 1893 0356 FFF7FEFF bl HAL_PCD_EP_Receive 1894 .LVL191: 1895 035a 28E7 b .L83 1896 .LVL192: 1897 .L90: 1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else 1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)HAL_PCD_EP_Transmit(hpcd, ep->num, ep->xfer_buff, ep->xfer_len); 1898 .loc 1 1846 0 1899 035c 6401 lsls r4, r4, #5 1900 .LVL193: 1901 035e 2C19 adds r4, r5, r4 1902 0360 2834 adds r4, r4, #40 1903 0362 2178 ldrb r1, [r4] 1904 0364 2800 movs r0, r5 1905 0366 FFF7FEFF bl HAL_PCD_EP_Transmit 1906 .LVL194: 1907 036a 4DE6 b .L72 1908 .LVL195: 1909 .L92: 1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK; 1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1910 .loc 1 1852 0 1911 036c 0020 movs r0, #0 1912 @ sp needed 1913 .LVL196: 1914 036e 04BC pop {r2} 1915 0370 9046 mov r8, r2 1916 0372 F0BD pop {r4, r5, r6, r7, pc} 1917 .L98: 1918 .align 2 1919 .L97: 1920 0374 8F0F0000 .word 3983 1921 0378 06040000 .word 1030 1922 037c FF83FFFF .word -31745 ARM GAS /tmp/ccYuHakw.s page 68 1923 0380 0080FFFF .word -32768 1924 0384 8FBFFFFF .word -16497 1925 0388 8080FFFF .word -32640 1926 038c 0F8FFFFF .word -28913 1927 0390 02040000 .word 1026 1928 0394 8F8FFFFF .word -28785 1929 0398 C080FFFF .word -32576 1930 .cfi_endproc 1931 .LFE72: 1933 .section .text.HAL_PCD_IRQHandler,"ax",%progbits 1934 .align 1 1935 .global HAL_PCD_IRQHandler 1936 .syntax unified 1937 .code 16 1938 .thumb_func 1939 .fpu softvfp 1941 HAL_PCD_IRQHandler: 1942 .LFB46: 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_CTR)) 1943 .loc 1 995 0 1944 .cfi_startproc 1945 @ args = 0, pretend = 0, frame = 0 1946 @ frame_needed = 0, uses_anonymous_args = 0 1947 .LVL197: 1948 0000 70B5 push {r4, r5, r6, lr} 1949 .LCFI14: 1950 .cfi_def_cfa_offset 16 1951 .cfi_offset 4, -16 1952 .cfi_offset 5, -12 1953 .cfi_offset 6, -8 1954 .cfi_offset 14, -4 1955 0002 0400 movs r4, r0 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1956 .loc 1 996 0 1957 0004 0068 ldr r0, [r0] 1958 .LVL198: 1959 0006 FFF7FEFF bl USB_ReadInterrupts 1960 .LVL199: 1961 000a 0304 lsls r3, r0, #16 1962 000c 00D5 bpl .LCB1807 1963 000e 7BE0 b .L111 @long jump 1964 .LCB1807: 1965 .L100: 1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1966 .loc 1 1003 0 1967 0010 2068 ldr r0, [r4] 1968 0012 FFF7FEFF bl USB_ReadInterrupts 1969 .LVL200: 1970 0016 4305 lsls r3, r0, #21 1971 0018 00D5 bpl .LCB1816 1972 001a 79E0 b .L112 @long jump 1973 .LCB1816: 1974 .L101: 1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1975 .loc 1 1016 0 1976 001c 2068 ldr r0, [r4] 1977 001e FFF7FEFF bl USB_ReadInterrupts ARM GAS /tmp/ccYuHakw.s page 69 1978 .LVL201: 1979 0022 4304 lsls r3, r0, #17 1980 0024 05D5 bpl .L102 1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1981 .loc 1 1018 0 1982 0026 2168 ldr r1, [r4] 1983 0028 4422 movs r2, #68 1984 002a 8B5A ldrh r3, [r1, r2] 1985 002c 5848 ldr r0, .L116 1986 002e 0340 ands r3, r0 1987 0030 8B52 strh r3, [r1, r2] 1988 .L102: 1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 1989 .loc 1 1021 0 1990 0032 2068 ldr r0, [r4] 1991 0034 FFF7FEFF bl USB_ReadInterrupts 1992 .LVL202: 1993 0038 8304 lsls r3, r0, #18 1994 003a 05D5 bpl .L103 1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 1995 .loc 1 1023 0 1996 003c 2168 ldr r1, [r4] 1997 003e 4422 movs r2, #68 1998 0040 8B5A ldrh r3, [r1, r2] 1999 0042 5448 ldr r0, .L116+4 2000 0044 0340 ands r3, r0 2001 0046 8B52 strh r3, [r1, r2] 2002 .L103: 1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2003 .loc 1 1026 0 2004 0048 2068 ldr r0, [r4] 2005 004a FFF7FEFF bl USB_ReadInterrupts 2006 .LVL203: 2007 004e C304 lsls r3, r0, #19 2008 0050 18D5 bpl .L104 1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_FSUSP); 2009 .loc 1 1028 0 2010 0052 2168 ldr r1, [r4] 2011 0054 4023 movs r3, #64 2012 0056 CA5A ldrh r2, [r1, r3] 2013 0058 0420 movs r0, #4 2014 005a 8243 bics r2, r0 2015 005c CA52 strh r2, [r1, r3] 1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2016 .loc 1 1029 0 2017 005e 2168 ldr r1, [r4] 2018 0060 CA5A ldrh r2, [r1, r3] 2019 0062 0430 adds r0, r0, #4 2020 0064 8243 bics r2, r0 2021 0066 CA52 strh r2, [r1, r3] 1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2022 .loc 1 1031 0 2023 0068 9823 movs r3, #152 2024 006a 9B00 lsls r3, r3, #2 2025 006c E35C ldrb r3, [r4, r3] 2026 006e 012B cmp r3, #1 2027 0070 5CD0 beq .L113 ARM GAS /tmp/ccYuHakw.s page 70 2028 .L105: 1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2029 .loc 1 1044 0 2030 0072 2000 movs r0, r4 2031 0074 FFF7FEFF bl HAL_PCD_ResumeCallback 2032 .LVL204: 1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2033 .loc 1 1047 0 2034 0078 2168 ldr r1, [r4] 2035 007a 4422 movs r2, #68 2036 007c 8B5A ldrh r3, [r1, r2] 2037 007e 4648 ldr r0, .L116+8 2038 0080 0340 ands r3, r0 2039 0082 8B52 strh r3, [r1, r2] 2040 .L104: 1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2041 .loc 1 1050 0 2042 0084 2068 ldr r0, [r4] 2043 0086 FFF7FEFF bl USB_ReadInterrupts 2044 .LVL205: 2045 008a 0305 lsls r3, r0, #20 2046 008c 57D4 bmi .L114 2047 .L106: 1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2048 .loc 1 1071 0 2049 008e 2068 ldr r0, [r4] 2050 0090 FFF7FEFF bl USB_ReadInterrupts 2051 .LVL206: 2052 0094 0306 lsls r3, r0, #24 2053 0096 26D5 bpl .L107 1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->LPM_State == LPM_L0) 2054 .loc 1 1073 0 2055 0098 2168 ldr r1, [r4] 2056 009a 4422 movs r2, #68 2057 009c 8B5A ldrh r3, [r1, r2] 2058 009e 8020 movs r0, #128 2059 00a0 8343 bics r3, r0 2060 00a2 8B52 strh r3, [r1, r2] 1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2061 .loc 1 1074 0 2062 00a4 9823 movs r3, #152 2063 00a6 9B00 lsls r3, r3, #2 2064 00a8 E35C ldrb r3, [r4, r3] 2065 00aa 002B cmp r3, #0 2066 00ac 62D1 bne .L108 1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR |= USB_CNTR_FSUSP; 2067 .loc 1 1077 0 2068 00ae 2168 ldr r1, [r4] 2069 00b0 4033 adds r3, r3, #64 2070 00b2 CA5A ldrh r2, [r1, r3] 2071 00b4 0420 movs r0, #4 2072 00b6 0243 orrs r2, r0 2073 00b8 CA52 strh r2, [r1, r3] 1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2074 .loc 1 1078 0 2075 00ba 2168 ldr r1, [r4] 2076 00bc CA5A ldrh r2, [r1, r3] ARM GAS /tmp/ccYuHakw.s page 71 2077 00be 0820 movs r0, #8 2078 00c0 0243 orrs r2, r0 2079 00c2 CA52 strh r2, [r1, r3] 1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->BESL = ((uint32_t)hpcd->Instance->LPMCSR & USB_LPMCSR_BESL) >> 2; 2080 .loc 1 1080 0 2081 00c4 9823 movs r3, #152 2082 00c6 9B00 lsls r3, r3, #2 2083 00c8 0122 movs r2, #1 2084 00ca E254 strb r2, [r4, r3] 1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 2085 .loc 1 1081 0 2086 00cc 5423 movs r3, #84 2087 00ce 2268 ldr r2, [r4] 2088 00d0 D25A ldrh r2, [r2, r3] 2089 00d2 9208 lsrs r2, r2, #2 2090 00d4 183B subs r3, r3, #24 2091 00d6 1340 ands r3, r2 2092 00d8 9922 movs r2, #153 2093 00da 9200 lsls r2, r2, #2 2094 00dc A350 str r3, [r4, r2] 1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2095 .loc 1 1085 0 2096 00de 0121 movs r1, #1 2097 00e0 2000 movs r0, r4 2098 00e2 FFF7FEFF bl HAL_PCDEx_LPM_Callback 2099 .LVL207: 2100 .L107: 1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2101 .loc 1 1098 0 2102 00e6 2068 ldr r0, [r4] 2103 00e8 FFF7FEFF bl USB_ReadInterrupts 2104 .LVL208: 2105 00ec 8305 lsls r3, r0, #22 2106 00ee 45D4 bmi .L115 2107 .L109: 1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2108 .loc 1 1109 0 2109 00f0 2068 ldr r0, [r4] 2110 00f2 FFF7FEFF bl USB_ReadInterrupts 2111 .LVL209: 2112 00f6 C305 lsls r3, r0, #23 2113 00f8 05D5 bpl .L99 1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2114 .loc 1 1112 0 2115 00fa 2168 ldr r1, [r4] 2116 00fc 4422 movs r2, #68 2117 00fe 8B5A ldrh r3, [r1, r2] 2118 0100 2648 ldr r0, .L116+12 2119 0102 0340 ands r3, r0 2120 0104 8B52 strh r3, [r1, r2] 2121 .L99: 1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2122 .loc 1 1114 0 2123 @ sp needed 2124 .LVL210: 2125 0106 70BD pop {r4, r5, r6, pc} 2126 .LVL211: ARM GAS /tmp/ccYuHakw.s page 72 2127 .L111: 1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2128 .loc 1 1000 0 2129 0108 2000 movs r0, r4 2130 010a FFF7FEFF bl PCD_EP_ISR_Handler 2131 .LVL212: 2132 010e 7FE7 b .L100 2133 .L112: 1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2134 .loc 1 1005 0 2135 0110 2168 ldr r1, [r4] 2136 0112 4422 movs r2, #68 2137 0114 8B5A ldrh r3, [r1, r2] 2138 0116 2248 ldr r0, .L116+16 2139 0118 0340 ands r3, r0 2140 011a 8B52 strh r3, [r1, r2] 1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2141 .loc 1 1010 0 2142 011c 2000 movs r0, r4 2143 011e FFF7FEFF bl HAL_PCD_ResetCallback 2144 .LVL213: 1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2145 .loc 1 1013 0 2146 0122 0021 movs r1, #0 2147 0124 2000 movs r0, r4 2148 0126 FFF7FEFF bl HAL_PCD_SetAddress 2149 .LVL214: 2150 012a 77E7 b .L101 2151 .L113: 1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 2152 .loc 1 1033 0 2153 012c 9823 movs r3, #152 2154 012e 9B00 lsls r3, r3, #2 2155 0130 0022 movs r2, #0 2156 0132 E254 strb r2, [r4, r3] 1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2157 .loc 1 1037 0 2158 0134 0021 movs r1, #0 2159 0136 2000 movs r0, r4 2160 0138 FFF7FEFF bl HAL_PCDEx_LPM_Callback 2161 .LVL215: 2162 013c 99E7 b .L105 2163 .L114: 1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2164 .loc 1 1053 0 2165 013e 2168 ldr r1, [r4] 2166 0140 4023 movs r3, #64 2167 0142 CA5A ldrh r2, [r1, r3] 2168 0144 0820 movs r0, #8 2169 0146 0243 orrs r2, r0 2170 0148 CA52 strh r2, [r1, r3] 1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2171 .loc 1 1056 0 2172 014a 2068 ldr r0, [r4] 2173 014c 4421 movs r1, #68 2174 014e 425A ldrh r2, [r0, r1] 2175 0150 144D ldr r5, .L116+20 ARM GAS /tmp/ccYuHakw.s page 73 2176 0152 2A40 ands r2, r5 2177 0154 4252 strh r2, [r0, r1] 1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2178 .loc 1 1058 0 2179 0156 2168 ldr r1, [r4] 2180 0158 CA5A ldrh r2, [r1, r3] 2181 015a 0420 movs r0, #4 2182 015c 0243 orrs r2, r0 2183 015e CA52 strh r2, [r1, r3] 1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2184 .loc 1 1060 0 2185 0160 2068 ldr r0, [r4] 2186 0162 FFF7FEFF bl USB_ReadInterrupts 2187 .LVL216: 2188 0166 C304 lsls r3, r0, #19 2189 0168 00D5 bpl .LCB2071 2190 016a 90E7 b .L106 @long jump 2191 .LCB2071: 1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2192 .loc 1 1065 0 2193 016c 2000 movs r0, r4 2194 016e FFF7FEFF bl HAL_PCD_SuspendCallback 2195 .LVL217: 2196 0172 8CE7 b .L106 2197 .L108: 1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2198 .loc 1 1093 0 2199 0174 2000 movs r0, r4 2200 0176 FFF7FEFF bl HAL_PCD_SuspendCallback 2201 .LVL218: 2202 017a B4E7 b .L107 2203 .L115: 1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2204 .loc 1 1100 0 2205 017c 2168 ldr r1, [r4] 2206 017e 4422 movs r2, #68 2207 0180 8B5A ldrh r3, [r1, r2] 2208 0182 0948 ldr r0, .L116+24 2209 0184 0340 ands r3, r0 2210 0186 8B52 strh r3, [r1, r2] 1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 2211 .loc 1 1105 0 2212 0188 2000 movs r0, r4 2213 018a FFF7FEFF bl HAL_PCD_SOFCallback 2214 .LVL219: 2215 018e AFE7 b .L109 2216 .L117: 2217 .align 2 2218 .L116: 2219 0190 FFBFFFFF .word -16385 2220 0194 FFDFFFFF .word -8193 2221 0198 FFEFFFFF .word -4097 2222 019c FFFEFFFF .word -257 2223 01a0 FFFBFFFF .word -1025 2224 01a4 FFF7FFFF .word -2049 2225 01a8 FFFDFFFF .word -513 2226 .cfi_endproc ARM GAS /tmp/ccYuHakw.s page 74 2227 .LFE46: 2229 .section .text.HAL_PCD_EP_SetStall,"ax",%progbits 2230 .align 1 2231 .global HAL_PCD_EP_SetStall 2232 .syntax unified 2233 .code 16 2234 .thumb_func 2235 .fpu softvfp 2237 HAL_PCD_EP_SetStall: 2238 .LFB66: 1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep; 2239 .loc 1 1506 0 2240 .cfi_startproc 2241 @ args = 0, pretend = 0, frame = 0 2242 @ frame_needed = 0, uses_anonymous_args = 0 2243 .LVL220: 2244 0000 70B5 push {r4, r5, r6, lr} 2245 .LCFI15: 2246 .cfi_def_cfa_offset 16 2247 .cfi_offset 4, -16 2248 .cfi_offset 5, -12 2249 .cfi_offset 6, -8 2250 .cfi_offset 14, -4 2251 0002 0500 movs r5, r0 2252 0004 0724 movs r4, #7 2253 0006 0C40 ands r4, r1 1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2254 .loc 1 1509 0 2255 0008 4368 ldr r3, [r0, #4] 2256 000a 9C42 cmp r4, r3 2257 000c 33D8 bhi .L123 1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2258 .loc 1 1514 0 2259 000e 4BB2 sxtb r3, r1 2260 0010 002B cmp r3, #0 2261 0012 20DB blt .L125 1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U; 2262 .loc 1 1521 0 2263 0014 4B01 lsls r3, r1, #5 2264 0016 1900 movs r1, r3 2265 .LVL221: 2266 0018 2931 adds r1, r1, #41 2267 001a FF31 adds r1, r1, #255 2268 001c 4118 adds r1, r0, r1 2269 .LVL222: 1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2270 .loc 1 1522 0 2271 001e C318 adds r3, r0, r3 2272 0020 2A33 adds r3, r3, #42 2273 0022 FF33 adds r3, r3, #255 2274 0024 0022 movs r2, #0 2275 0026 1A70 strb r2, [r3] 2276 .L121: 1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 2277 .loc 1 1525 0 2278 0028 0123 movs r3, #1 2279 002a 8B70 strb r3, [r1, #2] ARM GAS /tmp/ccYuHakw.s page 75 1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2280 .loc 1 1526 0 2281 002c 0C70 strb r4, [r1] 1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2282 .loc 1 1528 0 2283 002e 8A23 movs r3, #138 2284 0030 9B00 lsls r3, r3, #2 2285 0032 EB5C ldrb r3, [r5, r3] 2286 0034 012B cmp r3, #1 2287 0036 20D0 beq .L124 1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2288 .loc 1 1528 0 is_stmt 0 discriminator 2 2289 0038 8A23 movs r3, #138 2290 003a 9B00 lsls r3, r3, #2 2291 003c 0122 movs r2, #1 2292 003e EA54 strb r2, [r5, r3] 1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U) 2293 .loc 1 1530 0 is_stmt 1 discriminator 2 2294 0040 2868 ldr r0, [r5] 2295 .LVL223: 2296 0042 FFF7FEFF bl USB_EPSetStall 2297 .LVL224: 1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2298 .loc 1 1531 0 discriminator 2 2299 0046 002C cmp r4, #0 2300 0048 0ED0 beq .L126 2301 .L122: 1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2302 .loc 1 1535 0 2303 004a 8A23 movs r3, #138 2304 004c 9B00 lsls r3, r3, #2 2305 004e 0022 movs r2, #0 2306 0050 EA54 strb r2, [r5, r3] 1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2307 .loc 1 1537 0 2308 0052 0020 movs r0, #0 2309 0054 10E0 b .L119 2310 .LVL225: 2311 .L125: 1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U; 2312 .loc 1 1516 0 2313 0056 6301 lsls r3, r4, #5 2314 0058 1900 movs r1, r3 2315 .LVL226: 2316 005a 2831 adds r1, r1, #40 2317 005c 4118 adds r1, r0, r1 2318 .LVL227: 1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2319 .loc 1 1517 0 2320 005e C318 adds r3, r0, r3 2321 0060 2933 adds r3, r3, #41 2322 0062 0122 movs r2, #1 2323 0064 1A70 strb r2, [r3] 2324 0066 DFE7 b .L121 2325 .LVL228: 2326 .L126: 1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } ARM GAS /tmp/ccYuHakw.s page 76 2327 .loc 1 1533 0 2328 0068 8C23 movs r3, #140 2329 006a 9B00 lsls r3, r3, #2 2330 006c E918 adds r1, r5, r3 2331 006e 2868 ldr r0, [r5] 2332 0070 FFF7FEFF bl USB_EP0_OutStart 2333 .LVL229: 2334 0074 E9E7 b .L122 2335 .LVL230: 2336 .L123: 1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2337 .loc 1 1511 0 2338 0076 0120 movs r0, #1 2339 .LVL231: 2340 .L119: 1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2341 .loc 1 1538 0 2342 @ sp needed 2343 .LVL232: 2344 0078 70BD pop {r4, r5, r6, pc} 2345 .LVL233: 2346 .L124: 1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2347 .loc 1 1528 0 2348 007a 0220 movs r0, #2 2349 .LVL234: 2350 007c FCE7 b .L119 2351 .cfi_endproc 2352 .LFE66: 2354 .section .text.HAL_PCD_EP_ClrStall,"ax",%progbits 2355 .align 1 2356 .global HAL_PCD_EP_ClrStall 2357 .syntax unified 2358 .code 16 2359 .thumb_func 2360 .fpu softvfp 2362 HAL_PCD_EP_ClrStall: 2363 .LFB67: 1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep; 2364 .loc 1 1547 0 2365 .cfi_startproc 2366 @ args = 0, pretend = 0, frame = 0 2367 @ frame_needed = 0, uses_anonymous_args = 0 2368 .LVL235: 2369 0000 70B5 push {r4, r5, r6, lr} 2370 .LCFI16: 2371 .cfi_def_cfa_offset 16 2372 .cfi_offset 4, -16 2373 .cfi_offset 5, -12 2374 .cfi_offset 6, -8 2375 .cfi_offset 14, -4 2376 0002 0400 movs r4, r0 1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2377 .loc 1 1550 0 2378 0004 0F23 movs r3, #15 2379 0006 0B40 ands r3, r1 2380 0008 4268 ldr r2, [r0, #4] ARM GAS /tmp/ccYuHakw.s page 77 2381 000a 9342 cmp r3, r2 2382 000c 2FD8 bhi .L131 1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** { 2383 .loc 1 1555 0 2384 000e 4BB2 sxtb r3, r1 2385 0010 002B cmp r3, #0 2386 0012 21DB blt .L133 1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U; 2387 .loc 1 1562 0 2388 0014 0723 movs r3, #7 2389 0016 0B40 ands r3, r1 2390 0018 5B01 lsls r3, r3, #5 2391 001a 1A00 movs r2, r3 2392 001c 2932 adds r2, r2, #41 2393 001e FF32 adds r2, r2, #255 2394 0020 8218 adds r2, r0, r2 2395 .LVL236: 1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2396 .loc 1 1563 0 2397 0022 C318 adds r3, r0, r3 2398 0024 2A33 adds r3, r3, #42 2399 0026 FF33 adds r3, r3, #255 2400 0028 0020 movs r0, #0 2401 .LVL237: 2402 002a 1870 strb r0, [r3] 2403 .L130: 1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 2404 .loc 1 1566 0 2405 002c 0023 movs r3, #0 2406 002e 9370 strb r3, [r2, #2] 1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2407 .loc 1 1567 0 2408 0030 0733 adds r3, r3, #7 2409 0032 1940 ands r1, r3 2410 .LVL238: 2411 0034 1170 strb r1, [r2] 1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep); 2412 .loc 1 1569 0 2413 0036 8A23 movs r3, #138 2414 0038 9B00 lsls r3, r3, #2 2415 003a E35C ldrb r3, [r4, r3] 2416 003c 012B cmp r3, #1 2417 003e 18D0 beq .L132 1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep); 2418 .loc 1 1569 0 is_stmt 0 discriminator 2 2419 0040 8A25 movs r5, #138 2420 0042 AD00 lsls r5, r5, #2 2421 0044 0123 movs r3, #1 2422 0046 6355 strb r3, [r4, r5] 1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 2423 .loc 1 1570 0 is_stmt 1 discriminator 2 2424 0048 1100 movs r1, r2 2425 004a 2068 ldr r0, [r4] 2426 004c FFF7FEFF bl USB_EPClearStall 2427 .LVL239: 1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2428 .loc 1 1571 0 discriminator 2 ARM GAS /tmp/ccYuHakw.s page 78 2429 0050 0023 movs r3, #0 2430 0052 6355 strb r3, [r4, r5] 1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2431 .loc 1 1573 0 discriminator 2 2432 0054 0020 movs r0, #0 2433 0056 0BE0 b .L128 2434 .LVL240: 2435 .L133: 1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U; 2436 .loc 1 1557 0 2437 0058 0723 movs r3, #7 2438 005a 0B40 ands r3, r1 2439 005c 5B01 lsls r3, r3, #5 2440 005e 1A00 movs r2, r3 2441 0060 2832 adds r2, r2, #40 2442 0062 8218 adds r2, r0, r2 2443 .LVL241: 1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2444 .loc 1 1558 0 2445 0064 C318 adds r3, r0, r3 2446 0066 2933 adds r3, r3, #41 2447 0068 0120 movs r0, #1 2448 .LVL242: 2449 006a 1870 strb r0, [r3] 2450 006c DEE7 b .L130 2451 .LVL243: 2452 .L131: 1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2453 .loc 1 1552 0 2454 006e 0120 movs r0, #1 2455 .LVL244: 2456 .L128: 1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2457 .loc 1 1574 0 2458 @ sp needed 2459 .LVL245: 2460 0070 70BD pop {r4, r5, r6, pc} 2461 .LVL246: 2462 .L132: 1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep); 2463 .loc 1 1569 0 2464 0072 0220 movs r0, #2 2465 0074 FCE7 b .L128 2466 .cfi_endproc 2467 .LFE67: 2469 .section .text.HAL_PCD_EP_Flush,"ax",%progbits 2470 .align 1 2471 .global HAL_PCD_EP_Flush 2472 .syntax unified 2473 .code 16 2474 .thumb_func 2475 .fpu softvfp 2477 HAL_PCD_EP_Flush: 2478 .LFB68: 1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 2479 .loc 1 1583 0 2480 .cfi_startproc ARM GAS /tmp/ccYuHakw.s page 79 2481 @ args = 0, pretend = 0, frame = 0 2482 @ frame_needed = 0, uses_anonymous_args = 0 2483 @ link register save eliminated. 2484 .LVL247: 1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2485 .loc 1 1589 0 2486 0000 0020 movs r0, #0 2487 .LVL248: 2488 @ sp needed 2489 0002 7047 bx lr 2490 .cfi_endproc 2491 .LFE68: 2493 .section .text.HAL_PCD_ActivateRemoteWakeup,"ax",%progbits 2494 .align 1 2495 .global HAL_PCD_ActivateRemoteWakeup 2496 .syntax unified 2497 .code 16 2498 .thumb_func 2499 .fpu softvfp 2501 HAL_PCD_ActivateRemoteWakeup: 2502 .LFB69: 1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return (USB_ActivateRemoteWakeup(hpcd->Instance)); 2503 .loc 1 1597 0 2504 .cfi_startproc 2505 @ args = 0, pretend = 0, frame = 0 2506 @ frame_needed = 0, uses_anonymous_args = 0 2507 .LVL249: 2508 0000 10B5 push {r4, lr} 2509 .LCFI17: 2510 .cfi_def_cfa_offset 8 2511 .cfi_offset 4, -8 2512 .cfi_offset 14, -4 1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2513 .loc 1 1598 0 2514 0002 0068 ldr r0, [r0] 2515 .LVL250: 2516 0004 FFF7FEFF bl USB_ActivateRemoteWakeup 2517 .LVL251: 1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2518 .loc 1 1599 0 2519 @ sp needed 2520 0008 10BD pop {r4, pc} 2521 .cfi_endproc 2522 .LFE69: 2524 .section .text.HAL_PCD_DeActivateRemoteWakeup,"ax",%progbits 2525 .align 1 2526 .global HAL_PCD_DeActivateRemoteWakeup 2527 .syntax unified 2528 .code 16 2529 .thumb_func 2530 .fpu softvfp 2532 HAL_PCD_DeActivateRemoteWakeup: 2533 .LFB70: 1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return (USB_DeActivateRemoteWakeup(hpcd->Instance)); 2534 .loc 1 1607 0 2535 .cfi_startproc 2536 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccYuHakw.s page 80 2537 @ frame_needed = 0, uses_anonymous_args = 0 2538 .LVL252: 2539 0000 10B5 push {r4, lr} 2540 .LCFI18: 2541 .cfi_def_cfa_offset 8 2542 .cfi_offset 4, -8 2543 .cfi_offset 14, -4 1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2544 .loc 1 1608 0 2545 0002 0068 ldr r0, [r0] 2546 .LVL253: 2547 0004 FFF7FEFF bl USB_DeActivateRemoteWakeup 2548 .LVL254: 1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2549 .loc 1 1609 0 2550 @ sp needed 2551 0008 10BD pop {r4, pc} 2552 .cfi_endproc 2553 .LFE70: 2555 .section .text.HAL_PCD_GetState,"ax",%progbits 2556 .align 1 2557 .global HAL_PCD_GetState 2558 .syntax unified 2559 .code 16 2560 .thumb_func 2561 .fpu softvfp 2563 HAL_PCD_GetState: 2564 .LFB71: 1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return hpcd->State; 2565 .loc 1 1636 0 2566 .cfi_startproc 2567 @ args = 0, pretend = 0, frame = 0 2568 @ frame_needed = 0, uses_anonymous_args = 0 2569 @ link register save eliminated. 2570 .LVL255: 1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } 2571 .loc 1 1637 0 2572 0000 014B ldr r3, .L138 2573 0002 C05C ldrb r0, [r0, r3] 2574 .LVL256: 2575 0004 C0B2 uxtb r0, r0 1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** 2576 .loc 1 1638 0 2577 @ sp needed 2578 0006 7047 bx lr 2579 .L139: 2580 .align 2 2581 .L138: 2582 0008 29020000 .word 553 2583 .cfi_endproc 2584 .LFE71: 2586 .text 2587 .Letext0: 2588 .file 2 "/usr/include/newlib/machine/_default_types.h" 2589 .file 3 "/usr/include/newlib/sys/_stdint.h" 2590 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" 2591 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h" ARM GAS /tmp/ccYuHakw.s page 81 2592 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" 2593 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h" 2594 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h" 2595 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h" 2596 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h" ARM GAS /tmp/ccYuHakw.s page 82 DEFINED SYMBOLS *ABS*:0000000000000000 stm32f0xx_hal_pcd.c /tmp/ccYuHakw.s:16 .text.HAL_PCD_MspInit:0000000000000000 $t /tmp/ccYuHakw.s:23 .text.HAL_PCD_MspInit:0000000000000000 HAL_PCD_MspInit /tmp/ccYuHakw.s:39 .text.HAL_PCD_Init:0000000000000000 $t /tmp/ccYuHakw.s:46 .text.HAL_PCD_Init:0000000000000000 HAL_PCD_Init /tmp/ccYuHakw.s:224 .text.HAL_PCD_Init:00000000000000d0 $d /tmp/ccYuHakw.s:229 .text.HAL_PCD_MspDeInit:0000000000000000 $t /tmp/ccYuHakw.s:236 .text.HAL_PCD_MspDeInit:0000000000000000 HAL_PCD_MspDeInit /tmp/ccYuHakw.s:251 .text.HAL_PCD_Start:0000000000000000 $t /tmp/ccYuHakw.s:258 .text.HAL_PCD_Start:0000000000000000 HAL_PCD_Start /tmp/ccYuHakw.s:313 .text.HAL_PCD_Stop:0000000000000000 $t /tmp/ccYuHakw.s:320 .text.HAL_PCD_Stop:0000000000000000 HAL_PCD_Stop /tmp/ccYuHakw.s:375 .text.HAL_PCD_DeInit:0000000000000000 $t /tmp/ccYuHakw.s:382 .text.HAL_PCD_DeInit:0000000000000000 HAL_PCD_DeInit /tmp/ccYuHakw.s:429 .text.HAL_PCD_DeInit:0000000000000024 $d /tmp/ccYuHakw.s:434 .text.HAL_PCD_DataOutStageCallback:0000000000000000 $t /tmp/ccYuHakw.s:441 .text.HAL_PCD_DataOutStageCallback:0000000000000000 HAL_PCD_DataOutStageCallback /tmp/ccYuHakw.s:456 .text.HAL_PCD_DataInStageCallback:0000000000000000 $t /tmp/ccYuHakw.s:463 .text.HAL_PCD_DataInStageCallback:0000000000000000 HAL_PCD_DataInStageCallback /tmp/ccYuHakw.s:478 .text.HAL_PCD_SetupStageCallback:0000000000000000 $t /tmp/ccYuHakw.s:485 .text.HAL_PCD_SetupStageCallback:0000000000000000 HAL_PCD_SetupStageCallback /tmp/ccYuHakw.s:500 .text.HAL_PCD_SOFCallback:0000000000000000 $t /tmp/ccYuHakw.s:507 .text.HAL_PCD_SOFCallback:0000000000000000 HAL_PCD_SOFCallback /tmp/ccYuHakw.s:522 .text.HAL_PCD_ResetCallback:0000000000000000 $t /tmp/ccYuHakw.s:529 .text.HAL_PCD_ResetCallback:0000000000000000 HAL_PCD_ResetCallback /tmp/ccYuHakw.s:544 .text.HAL_PCD_SuspendCallback:0000000000000000 $t /tmp/ccYuHakw.s:551 .text.HAL_PCD_SuspendCallback:0000000000000000 HAL_PCD_SuspendCallback /tmp/ccYuHakw.s:566 .text.HAL_PCD_ResumeCallback:0000000000000000 $t /tmp/ccYuHakw.s:573 .text.HAL_PCD_ResumeCallback:0000000000000000 HAL_PCD_ResumeCallback /tmp/ccYuHakw.s:588 .text.HAL_PCD_ISOOUTIncompleteCallback:0000000000000000 $t /tmp/ccYuHakw.s:595 .text.HAL_PCD_ISOOUTIncompleteCallback:0000000000000000 HAL_PCD_ISOOUTIncompleteCallback /tmp/ccYuHakw.s:610 .text.HAL_PCD_ISOINIncompleteCallback:0000000000000000 $t /tmp/ccYuHakw.s:617 .text.HAL_PCD_ISOINIncompleteCallback:0000000000000000 HAL_PCD_ISOINIncompleteCallback /tmp/ccYuHakw.s:632 .text.HAL_PCD_ConnectCallback:0000000000000000 $t /tmp/ccYuHakw.s:639 .text.HAL_PCD_ConnectCallback:0000000000000000 HAL_PCD_ConnectCallback /tmp/ccYuHakw.s:654 .text.HAL_PCD_DisconnectCallback:0000000000000000 $t /tmp/ccYuHakw.s:661 .text.HAL_PCD_DisconnectCallback:0000000000000000 HAL_PCD_DisconnectCallback /tmp/ccYuHakw.s:676 .text.HAL_PCD_DevConnect:0000000000000000 $t /tmp/ccYuHakw.s:683 .text.HAL_PCD_DevConnect:0000000000000000 HAL_PCD_DevConnect /tmp/ccYuHakw.s:734 .text.HAL_PCD_DevDisconnect:0000000000000000 $t /tmp/ccYuHakw.s:741 .text.HAL_PCD_DevDisconnect:0000000000000000 HAL_PCD_DevDisconnect /tmp/ccYuHakw.s:792 .text.HAL_PCD_SetAddress:0000000000000000 $t /tmp/ccYuHakw.s:799 .text.HAL_PCD_SetAddress:0000000000000000 HAL_PCD_SetAddress /tmp/ccYuHakw.s:853 .text.HAL_PCD_EP_Open:0000000000000000 $t /tmp/ccYuHakw.s:860 .text.HAL_PCD_EP_Open:0000000000000000 HAL_PCD_EP_Open /tmp/ccYuHakw.s:979 .text.HAL_PCD_EP_Close:0000000000000000 $t /tmp/ccYuHakw.s:986 .text.HAL_PCD_EP_Close:0000000000000000 HAL_PCD_EP_Close /tmp/ccYuHakw.s:1079 .text.HAL_PCD_EP_Receive:0000000000000000 $t /tmp/ccYuHakw.s:1086 .text.HAL_PCD_EP_Receive:0000000000000000 HAL_PCD_EP_Receive /tmp/ccYuHakw.s:1165 .text.HAL_PCD_EP_GetRxCount:0000000000000000 $t /tmp/ccYuHakw.s:1172 .text.HAL_PCD_EP_GetRxCount:0000000000000000 HAL_PCD_EP_GetRxCount /tmp/ccYuHakw.s:1197 .text.HAL_PCD_EP_Transmit:0000000000000000 $t /tmp/ccYuHakw.s:1204 .text.HAL_PCD_EP_Transmit:0000000000000000 HAL_PCD_EP_Transmit /tmp/ccYuHakw.s:1277 .text.PCD_EP_ISR_Handler:0000000000000000 $t /tmp/ccYuHakw.s:1283 .text.PCD_EP_ISR_Handler:0000000000000000 PCD_EP_ISR_Handler /tmp/ccYuHakw.s:1920 .text.PCD_EP_ISR_Handler:0000000000000374 $d ARM GAS /tmp/ccYuHakw.s page 83 /tmp/ccYuHakw.s:1934 .text.HAL_PCD_IRQHandler:0000000000000000 $t /tmp/ccYuHakw.s:1941 .text.HAL_PCD_IRQHandler:0000000000000000 HAL_PCD_IRQHandler /tmp/ccYuHakw.s:2219 .text.HAL_PCD_IRQHandler:0000000000000190 $d /tmp/ccYuHakw.s:2230 .text.HAL_PCD_EP_SetStall:0000000000000000 $t /tmp/ccYuHakw.s:2237 .text.HAL_PCD_EP_SetStall:0000000000000000 HAL_PCD_EP_SetStall /tmp/ccYuHakw.s:2355 .text.HAL_PCD_EP_ClrStall:0000000000000000 $t /tmp/ccYuHakw.s:2362 .text.HAL_PCD_EP_ClrStall:0000000000000000 HAL_PCD_EP_ClrStall /tmp/ccYuHakw.s:2470 .text.HAL_PCD_EP_Flush:0000000000000000 $t /tmp/ccYuHakw.s:2477 .text.HAL_PCD_EP_Flush:0000000000000000 HAL_PCD_EP_Flush /tmp/ccYuHakw.s:2494 .text.HAL_PCD_ActivateRemoteWakeup:0000000000000000 $t /tmp/ccYuHakw.s:2501 .text.HAL_PCD_ActivateRemoteWakeup:0000000000000000 HAL_PCD_ActivateRemoteWakeup /tmp/ccYuHakw.s:2525 .text.HAL_PCD_DeActivateRemoteWakeup:0000000000000000 $t /tmp/ccYuHakw.s:2532 .text.HAL_PCD_DeActivateRemoteWakeup:0000000000000000 HAL_PCD_DeActivateRemoteWakeup /tmp/ccYuHakw.s:2556 .text.HAL_PCD_GetState:0000000000000000 $t /tmp/ccYuHakw.s:2563 .text.HAL_PCD_GetState:0000000000000000 HAL_PCD_GetState /tmp/ccYuHakw.s:2582 .text.HAL_PCD_GetState:0000000000000008 $d UNDEFINED SYMBOLS USB_DisableGlobalInt USB_DevInit HAL_PCDEx_ActivateLPM USB_DevConnect USB_EnableGlobalInt USB_StopDevice USB_DevDisconnect USB_SetDevAddress USB_ActivateEndpoint USB_DeactivateEndpoint USB_EPStartXfer USB_ReadPMA USB_ReadInterrupts HAL_PCDEx_LPM_Callback USB_EPSetStall USB_EP0_OutStart USB_EPClearStall USB_ActivateRemoteWakeup USB_DeActivateRemoteWakeup