From f7de54fc6fa6b40dfa2dfbe4c2a8ee933affa126 Mon Sep 17 00:00:00 2001 From: JanHenrik Date: Wed, 1 Apr 2020 00:40:03 +0200 Subject: added files --- hid-dials/build/stm32f0xx_hal_pcd.lst | 4908 +++++++++++++++++++++++++++++++++ 1 file changed, 4908 insertions(+) create mode 100644 hid-dials/build/stm32f0xx_hal_pcd.lst (limited to 'hid-dials/build/stm32f0xx_hal_pcd.lst') diff --git a/hid-dials/build/stm32f0xx_hal_pcd.lst b/hid-dials/build/stm32f0xx_hal_pcd.lst new file mode 100644 index 0000000..486da5f --- /dev/null +++ b/hid-dials/build/stm32f0xx_hal_pcd.lst @@ -0,0 +1,4908 @@ +ARM GAS /tmp/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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/ccl2asp9.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 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin + 2589 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s + 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/ccl2asp9.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/ccl2asp9.s page 82 + + +DEFINED SYMBOLS + *ABS*:0000000000000000 stm32f0xx_hal_pcd.c + /tmp/ccl2asp9.s:16 .text.HAL_PCD_MspInit:0000000000000000 $t + /tmp/ccl2asp9.s:23 .text.HAL_PCD_MspInit:0000000000000000 HAL_PCD_MspInit + /tmp/ccl2asp9.s:39 .text.HAL_PCD_Init:0000000000000000 $t + /tmp/ccl2asp9.s:46 .text.HAL_PCD_Init:0000000000000000 HAL_PCD_Init + /tmp/ccl2asp9.s:224 .text.HAL_PCD_Init:00000000000000d0 $d + /tmp/ccl2asp9.s:229 .text.HAL_PCD_MspDeInit:0000000000000000 $t + /tmp/ccl2asp9.s:236 .text.HAL_PCD_MspDeInit:0000000000000000 HAL_PCD_MspDeInit + /tmp/ccl2asp9.s:251 .text.HAL_PCD_Start:0000000000000000 $t + /tmp/ccl2asp9.s:258 .text.HAL_PCD_Start:0000000000000000 HAL_PCD_Start + /tmp/ccl2asp9.s:313 .text.HAL_PCD_Stop:0000000000000000 $t + /tmp/ccl2asp9.s:320 .text.HAL_PCD_Stop:0000000000000000 HAL_PCD_Stop + /tmp/ccl2asp9.s:375 .text.HAL_PCD_DeInit:0000000000000000 $t + /tmp/ccl2asp9.s:382 .text.HAL_PCD_DeInit:0000000000000000 HAL_PCD_DeInit + /tmp/ccl2asp9.s:429 .text.HAL_PCD_DeInit:0000000000000024 $d + /tmp/ccl2asp9.s:434 .text.HAL_PCD_DataOutStageCallback:0000000000000000 $t + /tmp/ccl2asp9.s:441 .text.HAL_PCD_DataOutStageCallback:0000000000000000 HAL_PCD_DataOutStageCallback + /tmp/ccl2asp9.s:456 .text.HAL_PCD_DataInStageCallback:0000000000000000 $t + /tmp/ccl2asp9.s:463 .text.HAL_PCD_DataInStageCallback:0000000000000000 HAL_PCD_DataInStageCallback + /tmp/ccl2asp9.s:478 .text.HAL_PCD_SetupStageCallback:0000000000000000 $t + /tmp/ccl2asp9.s:485 .text.HAL_PCD_SetupStageCallback:0000000000000000 HAL_PCD_SetupStageCallback + /tmp/ccl2asp9.s:500 .text.HAL_PCD_SOFCallback:0000000000000000 $t + /tmp/ccl2asp9.s:507 .text.HAL_PCD_SOFCallback:0000000000000000 HAL_PCD_SOFCallback + /tmp/ccl2asp9.s:522 .text.HAL_PCD_ResetCallback:0000000000000000 $t + /tmp/ccl2asp9.s:529 .text.HAL_PCD_ResetCallback:0000000000000000 HAL_PCD_ResetCallback + /tmp/ccl2asp9.s:544 .text.HAL_PCD_SuspendCallback:0000000000000000 $t + /tmp/ccl2asp9.s:551 .text.HAL_PCD_SuspendCallback:0000000000000000 HAL_PCD_SuspendCallback + /tmp/ccl2asp9.s:566 .text.HAL_PCD_ResumeCallback:0000000000000000 $t + /tmp/ccl2asp9.s:573 .text.HAL_PCD_ResumeCallback:0000000000000000 HAL_PCD_ResumeCallback + /tmp/ccl2asp9.s:588 .text.HAL_PCD_ISOOUTIncompleteCallback:0000000000000000 $t + /tmp/ccl2asp9.s:595 .text.HAL_PCD_ISOOUTIncompleteCallback:0000000000000000 HAL_PCD_ISOOUTIncompleteCallback + /tmp/ccl2asp9.s:610 .text.HAL_PCD_ISOINIncompleteCallback:0000000000000000 $t + /tmp/ccl2asp9.s:617 .text.HAL_PCD_ISOINIncompleteCallback:0000000000000000 HAL_PCD_ISOINIncompleteCallback + /tmp/ccl2asp9.s:632 .text.HAL_PCD_ConnectCallback:0000000000000000 $t + /tmp/ccl2asp9.s:639 .text.HAL_PCD_ConnectCallback:0000000000000000 HAL_PCD_ConnectCallback + /tmp/ccl2asp9.s:654 .text.HAL_PCD_DisconnectCallback:0000000000000000 $t + /tmp/ccl2asp9.s:661 .text.HAL_PCD_DisconnectCallback:0000000000000000 HAL_PCD_DisconnectCallback + /tmp/ccl2asp9.s:676 .text.HAL_PCD_DevConnect:0000000000000000 $t + /tmp/ccl2asp9.s:683 .text.HAL_PCD_DevConnect:0000000000000000 HAL_PCD_DevConnect + /tmp/ccl2asp9.s:734 .text.HAL_PCD_DevDisconnect:0000000000000000 $t + /tmp/ccl2asp9.s:741 .text.HAL_PCD_DevDisconnect:0000000000000000 HAL_PCD_DevDisconnect + /tmp/ccl2asp9.s:792 .text.HAL_PCD_SetAddress:0000000000000000 $t + /tmp/ccl2asp9.s:799 .text.HAL_PCD_SetAddress:0000000000000000 HAL_PCD_SetAddress + /tmp/ccl2asp9.s:853 .text.HAL_PCD_EP_Open:0000000000000000 $t + /tmp/ccl2asp9.s:860 .text.HAL_PCD_EP_Open:0000000000000000 HAL_PCD_EP_Open + /tmp/ccl2asp9.s:979 .text.HAL_PCD_EP_Close:0000000000000000 $t + /tmp/ccl2asp9.s:986 .text.HAL_PCD_EP_Close:0000000000000000 HAL_PCD_EP_Close + /tmp/ccl2asp9.s:1079 .text.HAL_PCD_EP_Receive:0000000000000000 $t + /tmp/ccl2asp9.s:1086 .text.HAL_PCD_EP_Receive:0000000000000000 HAL_PCD_EP_Receive + /tmp/ccl2asp9.s:1165 .text.HAL_PCD_EP_GetRxCount:0000000000000000 $t + /tmp/ccl2asp9.s:1172 .text.HAL_PCD_EP_GetRxCount:0000000000000000 HAL_PCD_EP_GetRxCount + /tmp/ccl2asp9.s:1197 .text.HAL_PCD_EP_Transmit:0000000000000000 $t + /tmp/ccl2asp9.s:1204 .text.HAL_PCD_EP_Transmit:0000000000000000 HAL_PCD_EP_Transmit + /tmp/ccl2asp9.s:1277 .text.PCD_EP_ISR_Handler:0000000000000000 $t + /tmp/ccl2asp9.s:1283 .text.PCD_EP_ISR_Handler:0000000000000000 PCD_EP_ISR_Handler + /tmp/ccl2asp9.s:1920 .text.PCD_EP_ISR_Handler:0000000000000374 $d + ARM GAS /tmp/ccl2asp9.s page 83 + + + /tmp/ccl2asp9.s:1934 .text.HAL_PCD_IRQHandler:0000000000000000 $t + /tmp/ccl2asp9.s:1941 .text.HAL_PCD_IRQHandler:0000000000000000 HAL_PCD_IRQHandler + /tmp/ccl2asp9.s:2219 .text.HAL_PCD_IRQHandler:0000000000000190 $d + /tmp/ccl2asp9.s:2230 .text.HAL_PCD_EP_SetStall:0000000000000000 $t + /tmp/ccl2asp9.s:2237 .text.HAL_PCD_EP_SetStall:0000000000000000 HAL_PCD_EP_SetStall + /tmp/ccl2asp9.s:2355 .text.HAL_PCD_EP_ClrStall:0000000000000000 $t + /tmp/ccl2asp9.s:2362 .text.HAL_PCD_EP_ClrStall:0000000000000000 HAL_PCD_EP_ClrStall + /tmp/ccl2asp9.s:2470 .text.HAL_PCD_EP_Flush:0000000000000000 $t + /tmp/ccl2asp9.s:2477 .text.HAL_PCD_EP_Flush:0000000000000000 HAL_PCD_EP_Flush + /tmp/ccl2asp9.s:2494 .text.HAL_PCD_ActivateRemoteWakeup:0000000000000000 $t + /tmp/ccl2asp9.s:2501 .text.HAL_PCD_ActivateRemoteWakeup:0000000000000000 HAL_PCD_ActivateRemoteWakeup + /tmp/ccl2asp9.s:2525 .text.HAL_PCD_DeActivateRemoteWakeup:0000000000000000 $t + /tmp/ccl2asp9.s:2532 .text.HAL_PCD_DeActivateRemoteWakeup:0000000000000000 HAL_PCD_DeActivateRemoteWakeup + /tmp/ccl2asp9.s:2556 .text.HAL_PCD_GetState:0000000000000000 $t + /tmp/ccl2asp9.s:2563 .text.HAL_PCD_GetState:0000000000000000 HAL_PCD_GetState + /tmp/ccl2asp9.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 -- cgit