ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 1


   1              		.cpu cortex-m3
   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, 1
  10              		.eabi_attribute 18, 4
  11              		.file	"stm32f1xx_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              		.thumb
  20              		.thumb_func
  21              		.fpu softvfp
  23              	HAL_PCD_MspInit:
  24              	.LFB67:
  25              		.file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c"
   1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
   2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ******************************************************************************
   3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @file    stm32f1xx_hal_pcd.c
   4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @author  MCD Application Team
   5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief   PCD HAL module driver.
   6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          functionalities of the USB Peripheral Controller:
   8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *           + Initialization and de-initialization functions
   9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *           + IO operation functions
  10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *           + Peripheral Control functions
  11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *           + Peripheral State functions
  12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *
  13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   @verbatim
  14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ==============================================================================
  15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                     ##### How to use this driver #####
  16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ==============================================================================
  17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     [..]
  18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       The PCD HAL driver can be used as follows:
  19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****      (#) Declare a PCD_HandleTypeDef handle structure, for example:
  21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****          PCD_HandleTypeDef  hpcd;
  22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****      (#) Fill parameters of Init structure in HCD handle
  24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****      (#) Call HAL_PCD_Init() API to initialize the PCD peripheral (Core, Device core, ...)
  26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****      (#) Initialize the PCD low level resources through the HAL_PCD_MspInit() API:
  28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****          (##) Enable the PCD/USB Low Level interface clock using
  29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****               (+++) __HAL_RCC_USB_CLK_ENABLE(); For USB Device only FS peripheral
  30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****          (##) Initialize the related GPIO clocks
  32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****          (##) Configure PCD pin-out
  33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****          (##) Configure PCD NVIC interrupt
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 2


  34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****      (#)Associate the Upper USB device stack to the HAL PCD Driver:
  36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****          (##) hpcd.pData = pdev;
  37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****      (#)Enable PCD transmission and reception:
  39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****          (##) HAL_PCD_Start();
  40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   @endverbatim
  42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ******************************************************************************
  43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @attention
  44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *
  45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
  46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * All rights reserved.</center></h2>
  47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *
  48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * This software component is licensed by ST under BSD 3-Clause license,
  49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * the "License"; You may not use this file except in compliance with the
  50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * License. You may obtain a copy of the License at:
  51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *                        opensource.org/licenses/BSD-3-Clause
  52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *
  53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ******************************************************************************
  54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
  55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /* Includes ------------------------------------------------------------------*/
  57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #include "stm32f1xx_hal.h"
  58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /** @addtogroup STM32F1xx_HAL_Driver
  60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @{
  61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
  62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /** @defgroup PCD PCD
  64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief PCD HAL module driver
  65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @{
  66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
  67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #ifdef HAL_PCD_MODULE_ENABLED
  69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB) || defined (USB_OTG_FS)
  71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /* Private types -------------------------------------------------------------*/
  73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /* Private variables ---------------------------------------------------------*/
  74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /* Private constants ---------------------------------------------------------*/
  75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /* Private macros ------------------------------------------------------------*/
  76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /** @defgroup PCD_Private_Macros PCD Private Macros
  77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @{
  78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
  79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #define PCD_MIN(a, b)  (((a) < (b)) ? (a) : (b))
  80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #define PCD_MAX(a, b)  (((a) > (b)) ? (a) : (b))
  81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
  82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @}
  83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
  84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /* Private functions prototypes ----------------------------------------------*/
  86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /** @defgroup PCD_Private_Functions PCD Private Functions
  87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @{
  88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
  89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB_OTG_FS)
  90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum);
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 3


  91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_OutXfrComplete_int(PCD_HandleTypeDef *hpcd, uint32_t epnum);
  92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint32_t epnum);
  93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */
  94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB)
  96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_ISR_Handler(PCD_HandleTypeDef *hpcd);
  97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB) */
  98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
  99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @}
 100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /* Exported functions --------------------------------------------------------*/
 103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions PCD Exported Functions
 104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @{
 105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group1 Initialization and de-initialization functions
 108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  *  @brief    Initialization and Configuration functions
 109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  *
 110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** @verbatim
 111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  ===============================================================================
 112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             ##### Initialization and de-initialization functions #####
 113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  ===============================================================================
 114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     [..]  This section provides functions allowing to:
 115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** @endverbatim
 117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @{
 118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Initializes the PCD according to the specified
 122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         parameters in the PCD_InitTypeDef and initialize the associated handle.
 123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd)
 127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB_OTG_FS)
 129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   USB_OTG_GlobalTypeDef *USBx;
 130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */
 131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint8_t i;
 132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Check the PCD handle allocation */
 134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd == NULL)
 135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
 137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Check the parameters */
 140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance));
 141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB_OTG_FS)
 143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   USBx = hpcd->Instance;
 144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */
 145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->State == HAL_PCD_STATE_RESET)
 147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 4


 148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Allocate lock resource and initialize it */
 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->Lock = HAL_UNLOCKED;
 150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->SOFCallback = HAL_PCD_SOFCallback;
 153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback;
 154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ResetCallback = HAL_PCD_ResetCallback;
 155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->SuspendCallback = HAL_PCD_SuspendCallback;
 156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ResumeCallback = HAL_PCD_ResumeCallback;
 157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ConnectCallback = HAL_PCD_ConnectCallback;
 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback;
 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback;
 160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback;
 161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback;
 162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback;
 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (hpcd->MspInitCallback == NULL)
 165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       hpcd->MspInitCallback = HAL_PCD_MspInit;
 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Init the low level hardware */
 170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->MspInitCallback(hpcd);
 171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
 172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Init the low level hardware : GPIO, CLOCK, NVIC... */
 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     HAL_PCD_MspInit(hpcd);
 174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */
 175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   hpcd->State = HAL_PCD_STATE_BUSY;
 178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB_OTG_FS)
 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Disable DMA mode for FS instance */
 181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if ((USBx->CID & (0x1U << 8)) == 0U)
 182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->Init.dma_enable = 0U;
 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */
 186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Disable the Interrupts */
 188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_PCD_DISABLE(hpcd);
 189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /*Init the Core (common init.) */
 191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (USB_CoreInit(hpcd->Instance, hpcd->Init) != HAL_OK)
 192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->State = HAL_PCD_STATE_ERROR;
 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
 195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Force Device Mode*/
 198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_SetCurrentMode(hpcd->Instance, USB_DEVICE_MODE);
 199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Init endpoints structures */
 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   for (i = 0U; i < hpcd->Init.dev_endpoints; i++)
 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Init ep structure */
 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].is_in = 1U;
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 5


 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].num = i;
 206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].tx_fifo_num = i;
 207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Control until ep is activated */
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].type = EP_TYPE_CTRL;
 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].maxpacket = 0U;
 210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].xfer_buff = 0U;
 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].xfer_len = 0U;
 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   for (i = 0U; i < hpcd->Init.dev_endpoints; i++)
 215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->OUT_ep[i].is_in = 0U;
 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->OUT_ep[i].num = i;
 218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Control until ep is activated */
 219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->OUT_ep[i].type = EP_TYPE_CTRL;
 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->OUT_ep[i].maxpacket = 0U;
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->OUT_ep[i].xfer_buff = 0U;
 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->OUT_ep[i].xfer_len = 0U;
 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Init Device */
 226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (USB_DevInit(hpcd->Instance, hpcd->Init) != HAL_OK)
 227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->State = HAL_PCD_STATE_ERROR;
 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
 230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   hpcd->USB_Address = 0U;
 233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   hpcd->State = HAL_PCD_STATE_READY;
 234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_DevDisconnect(hpcd->Instance);
 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
 237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  DeInitializes the PCD peripheral.
 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DeInit(PCD_HandleTypeDef *hpcd)
 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Check the PCD handle allocation */
 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd == NULL)
 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   hpcd->State = HAL_PCD_STATE_BUSY;
 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Stop Device */
 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)HAL_PCD_Stop(hpcd);
 256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->MspDeInitCallback == NULL)
 259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; /* Legacy weak MspDeInit  */
 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 6


 262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* DeInit the low level hardware */
 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   hpcd->MspDeInitCallback(hpcd);
 265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
 266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* DeInit the low level hardware: CLOCK, NVIC.*/
 267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_PCD_MspDeInit(hpcd);
 268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   hpcd->State = HAL_PCD_STATE_RESET;
 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Initializes the PCD MSP.
 277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
 279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd)
 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
  26              		.loc 1 281 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:
 282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
 283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
 284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
 286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_MspInit could be implemented in the user file
 287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
 288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
  32              		.loc 1 288 0
  33 0000 7047     		bx	lr
  34              		.cfi_endproc
  35              	.LFE67:
  37              		.section	.text.HAL_PCD_Init,"ax",%progbits
  38              		.align	1
  39              		.global	HAL_PCD_Init
  40              		.syntax unified
  41              		.thumb
  42              		.thumb_func
  43              		.fpu softvfp
  45              	HAL_PCD_Init:
  46              	.LFB65:
 127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB_OTG_FS)
  47              		.loc 1 127 0
  48              		.cfi_startproc
  49              		@ args = 0, pretend = 0, frame = 0
  50              		@ frame_needed = 0, uses_anonymous_args = 0
  51              	.LVL1:
  52 0000 F0B5     		push	{r4, r5, r6, r7, lr}
  53              	.LCFI0:
  54              		.cfi_def_cfa_offset 20
  55              		.cfi_offset 4, -20
  56              		.cfi_offset 5, -16
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 7


  57              		.cfi_offset 6, -12
  58              		.cfi_offset 7, -8
  59              		.cfi_offset 14, -4
  60 0002 87B0     		sub	sp, sp, #28
  61              	.LCFI1:
  62              		.cfi_def_cfa_offset 48
 134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
  63              		.loc 1 134 0
  64 0004 0028     		cmp	r0, #0
  65 0006 73D0     		beq	.L11
  66 0008 0446     		mov	r4, r0
 146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
  67              		.loc 1 146 0
  68 000a 90F82932 		ldrb	r3, [r0, #553]	@ zero_extendqisi2
  69 000e D3B1     		cbz	r3, .L13
  70              	.LVL2:
  71              	.L4:
 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  72              		.loc 1 177 0
  73 0010 0323     		movs	r3, #3
  74 0012 84F82932 		strb	r3, [r4, #553]
 188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
  75              		.loc 1 188 0
  76 0016 2068     		ldr	r0, [r4]
  77 0018 FFF7FEFF 		bl	USB_DisableGlobalInt
  78              	.LVL3:
 191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
  79              		.loc 1 191 0
  80 001c 2546     		mov	r5, r4
  81 001e 55F8107B 		ldr	r7, [r5], #16
  82 0022 6E46     		mov	r6, sp
  83 0024 0FCD     		ldmia	r5!, {r0, r1, r2, r3}
  84 0026 0FC6     		stmia	r6!, {r0, r1, r2, r3}
  85 0028 2B68     		ldr	r3, [r5]
  86 002a 3360     		str	r3, [r6]
  87 002c 231D     		adds	r3, r4, #4
  88 002e 0ECB     		ldm	r3, {r1, r2, r3}
  89 0030 3846     		mov	r0, r7
  90 0032 FFF7FEFF 		bl	USB_CoreInit
  91              	.LVL4:
  92 0036 58B1     		cbz	r0, .L5
 193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
  93              		.loc 1 193 0
  94 0038 0223     		movs	r3, #2
  95 003a 84F82932 		strb	r3, [r4, #553]
 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
  96              		.loc 1 194 0
  97 003e 0125     		movs	r5, #1
  98              	.LVL5:
  99              	.L3:
 237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 100              		.loc 1 237 0
 101 0040 2846     		mov	r0, r5
 102 0042 07B0     		add	sp, sp, #28
 103              	.LCFI2:
 104              		.cfi_remember_state
 105              		.cfi_def_cfa_offset 20
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 8


 106              		@ sp needed
 107 0044 F0BD     		pop	{r4, r5, r6, r7, pc}
 108              	.LVL6:
 109              	.L13:
 110              	.LCFI3:
 111              		.cfi_restore_state
 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 112              		.loc 1 149 0
 113 0046 80F82832 		strb	r3, [r0, #552]
 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */
 114              		.loc 1 173 0
 115 004a FFF7FEFF 		bl	HAL_PCD_MspInit
 116              	.LVL7:
 117 004e DFE7     		b	.L4
 118              	.L5:
 198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 119              		.loc 1 198 0
 120 0050 0021     		movs	r1, #0
 121 0052 2068     		ldr	r0, [r4]
 122 0054 FFF7FEFF 		bl	USB_SetCurrentMode
 123              	.LVL8:
 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 124              		.loc 1 201 0
 125 0058 0023     		movs	r3, #0
 126 005a 11E0     		b	.L6
 127              	.LVL9:
 128              	.L7:
 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].num = i;
 129              		.loc 1 204 0 discriminator 3
 130 005c 04EB4312 		add	r2, r4, r3, lsl #5
 131 0060 0121     		movs	r1, #1
 132 0062 82F82910 		strb	r1, [r2, #41]
 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].tx_fifo_num = i;
 133              		.loc 1 205 0 discriminator 3
 134 0066 82F82830 		strb	r3, [r2, #40]
 206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Control until ep is activated */
 135              		.loc 1 206 0 discriminator 3
 136 006a D386     		strh	r3, [r2, #54]	@ movhi
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].maxpacket = 0U;
 137              		.loc 1 208 0 discriminator 3
 138 006c 0021     		movs	r1, #0
 139 006e 82F82B10 		strb	r1, [r2, #43]
 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].xfer_buff = 0U;
 140              		.loc 1 209 0 discriminator 3
 141 0072 9163     		str	r1, [r2, #56]
 210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->IN_ep[i].xfer_len = 0U;
 142              		.loc 1 210 0 discriminator 3
 143 0074 D163     		str	r1, [r2, #60]
 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 144              		.loc 1 211 0 discriminator 3
 145 0076 9A1C     		adds	r2, r3, #2
 146 0078 5201     		lsls	r2, r2, #5
 147 007a A150     		str	r1, [r4, r2]
 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 148              		.loc 1 201 0 discriminator 3
 149 007c 0133     		adds	r3, r3, #1
 150              	.LVL10:
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 9


 151 007e DBB2     		uxtb	r3, r3
 152              	.LVL11:
 153              	.L6:
 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 154              		.loc 1 201 0 is_stmt 0 discriminator 1
 155 0080 6068     		ldr	r0, [r4, #4]
 156 0082 8342     		cmp	r3, r0
 157 0084 EAD3     		bcc	.L7
 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 158              		.loc 1 214 0 is_stmt 1
 159 0086 0023     		movs	r3, #0
 160              	.LVL12:
 161 0088 12E0     		b	.L8
 162              	.LVL13:
 163              	.L9:
 216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->OUT_ep[i].num = i;
 164              		.loc 1 216 0 discriminator 3
 165 008a 04EB4311 		add	r1, r4, r3, lsl #5
 166 008e 0022     		movs	r2, #0
 167 0090 81F82921 		strb	r2, [r1, #297]
 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Control until ep is activated */
 168              		.loc 1 217 0 discriminator 3
 169 0094 81F82831 		strb	r3, [r1, #296]
 219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->OUT_ep[i].maxpacket = 0U;
 170              		.loc 1 219 0 discriminator 3
 171 0098 81F82B21 		strb	r2, [r1, #299]
 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->OUT_ep[i].xfer_buff = 0U;
 172              		.loc 1 220 0 discriminator 3
 173 009c C1F83821 		str	r2, [r1, #312]
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->OUT_ep[i].xfer_len = 0U;
 174              		.loc 1 221 0 discriminator 3
 175 00a0 C1F83C21 		str	r2, [r1, #316]
 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 176              		.loc 1 222 0 discriminator 3
 177 00a4 03F10A01 		add	r1, r3, #10
 178 00a8 4901     		lsls	r1, r1, #5
 179 00aa 6250     		str	r2, [r4, r1]
 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 180              		.loc 1 214 0 discriminator 3
 181 00ac 0133     		adds	r3, r3, #1
 182              	.LVL14:
 183 00ae DBB2     		uxtb	r3, r3
 184              	.LVL15:
 185              	.L8:
 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 186              		.loc 1 214 0 is_stmt 0 discriminator 1
 187 00b0 9842     		cmp	r0, r3
 188 00b2 EAD8     		bhi	.L9
 226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 189              		.loc 1 226 0 is_stmt 1
 190 00b4 2546     		mov	r5, r4
 191 00b6 55F8107B 		ldr	r7, [r5], #16
 192 00ba 6E46     		mov	r6, sp
 193 00bc 0FCD     		ldmia	r5!, {r0, r1, r2, r3}
 194              	.LVL16:
 195 00be 0FC6     		stmia	r6!, {r0, r1, r2, r3}
 196 00c0 2B68     		ldr	r3, [r5]
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 10


 197 00c2 3360     		str	r3, [r6]
 198 00c4 231D     		adds	r3, r4, #4
 199 00c6 0ECB     		ldm	r3, {r1, r2, r3}
 200 00c8 3846     		mov	r0, r7
 201 00ca FFF7FEFF 		bl	USB_DevInit
 202              	.LVL17:
 203 00ce 0546     		mov	r5, r0
 204 00d0 20B1     		cbz	r0, .L10
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
 205              		.loc 1 228 0
 206 00d2 0223     		movs	r3, #2
 207 00d4 84F82932 		strb	r3, [r4, #553]
 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 208              		.loc 1 229 0
 209 00d8 0125     		movs	r5, #1
 210 00da B1E7     		b	.L3
 211              	.L10:
 232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   hpcd->State = HAL_PCD_STATE_READY;
 212              		.loc 1 232 0
 213 00dc 0023     		movs	r3, #0
 214 00de 84F82430 		strb	r3, [r4, #36]
 233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_DevDisconnect(hpcd->Instance);
 215              		.loc 1 233 0
 216 00e2 0123     		movs	r3, #1
 217 00e4 84F82932 		strb	r3, [r4, #553]
 234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 218              		.loc 1 234 0
 219 00e8 2068     		ldr	r0, [r4]
 220 00ea FFF7FEFF 		bl	USB_DevDisconnect
 221              	.LVL18:
 236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 222              		.loc 1 236 0
 223 00ee A7E7     		b	.L3
 224              	.LVL19:
 225              	.L11:
 136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 226              		.loc 1 136 0
 227 00f0 0125     		movs	r5, #1
 228 00f2 A5E7     		b	.L3
 229              		.cfi_endproc
 230              	.LFE65:
 232              		.section	.text.HAL_PCD_MspDeInit,"ax",%progbits
 233              		.align	1
 234              		.weak	HAL_PCD_MspDeInit
 235              		.syntax unified
 236              		.thumb
 237              		.thumb_func
 238              		.fpu softvfp
 240              	HAL_PCD_MspDeInit:
 241              	.LFB68:
 289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  DeInitializes PCD MSP.
 292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd)
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 11


 296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 242              		.loc 1 296 0
 243              		.cfi_startproc
 244              		@ args = 0, pretend = 0, frame = 0
 245              		@ frame_needed = 0, uses_anonymous_args = 0
 246              		@ link register save eliminated.
 247              	.LVL20:
 297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
 298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
 299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_MspDeInit could be implemented in the user file
 302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
 303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 248              		.loc 1 303 0
 249 0000 7047     		bx	lr
 250              		.cfi_endproc
 251              	.LFE68:
 253              		.section	.text.HAL_PCD_Start,"ax",%progbits
 254              		.align	1
 255              		.global	HAL_PCD_Start
 256              		.syntax unified
 257              		.thumb
 258              		.thumb_func
 259              		.fpu softvfp
 261              	HAL_PCD_Start:
 262              	.LFB69:
 304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Register a User USB PCD Callback
 308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         To be used instead of the weak predefined callback
 309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd USB PCD handle
 310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  CallbackID ID of the callback to be registered
 311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         This parameter can be one of the following values:
 312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_SOF_CB_ID USB PCD SOF callback ID
 313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_SETUPSTAGE_CB_ID USB PCD Setup callback ID
 314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_RESET_CB_ID USB PCD Reset callback ID
 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_SUSPEND_CB_ID USB PCD Suspend callback ID
 316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_RESUME_CB_ID USB PCD Resume callback ID
 317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_CONNECT_CB_ID USB PCD Connect callback ID
 318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_DISCONNECT_CB_ID OTG PCD Disconnect callback ID
 319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_MSPINIT_CB_ID MspDeInit callback ID
 320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_MSPDEINIT_CB_ID MspDeInit callback ID
 321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  pCallback pointer to the Callback function
 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterCallback(PCD_HandleTypeDef *hpcd, HAL_PCD_CallbackIDTypeDef Callb
 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_StatusTypeDef status = HAL_OK;
 327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (pCallback == NULL)
 329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
 333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 12


 334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Process locked */
 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->State == HAL_PCD_STATE_READY)
 338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     switch (CallbackID)
 340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
 341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_SOF_CB_ID :
 342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->SOFCallback = pCallback;
 343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_SETUPSTAGE_CB_ID :
 346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->SetupStageCallback = pCallback;
 347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_RESET_CB_ID :
 350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->ResetCallback = pCallback;
 351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_SUSPEND_CB_ID :
 354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->SuspendCallback = pCallback;
 355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_RESUME_CB_ID :
 358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->ResumeCallback = pCallback;
 359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_CONNECT_CB_ID :
 362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->ConnectCallback = pCallback;
 363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_DISCONNECT_CB_ID :
 366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->DisconnectCallback = pCallback;
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_MSPINIT_CB_ID :
 370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->MspInitCallback = pCallback;
 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_MSPDEINIT_CB_ID :
 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->MspDeInitCallback = pCallback;
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       default :
 378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* Update the error code */
 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* Return error status */
 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         status =  HAL_ERROR;
 382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
 384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else if (hpcd->State == HAL_PCD_STATE_RESET)
 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     switch (CallbackID)
 388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_MSPINIT_CB_ID :
 390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->MspInitCallback = pCallback;
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 13


 391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_MSPDEINIT_CB_ID :
 394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->MspDeInitCallback = pCallback;
 395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       default :
 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* Update the error code */
 399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* Return error status */
 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         status =  HAL_ERROR;
 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
 406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Return error status */
 410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     status =  HAL_ERROR;
 411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Release Lock */
 414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return status;
 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Unregister an USB PCD Callback
 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         USB PCD callabck is redirected to the weak predefined callback
 421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd USB PCD handle
 422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  CallbackID ID of the callback to be unregistered
 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         This parameter can be one of the following values:
 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_SOF_CB_ID USB PCD SOF callback ID
 425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_SETUPSTAGE_CB_ID USB PCD Setup callback ID
 426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_RESET_CB_ID USB PCD Reset callback ID
 427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_SUSPEND_CB_ID USB PCD Suspend callback ID
 428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_RESUME_CB_ID USB PCD Resume callback ID
 429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_CONNECT_CB_ID USB PCD Connect callback ID
 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_DISCONNECT_CB_ID OTG PCD Disconnect callback ID
 431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_MSPINIT_CB_ID MspDeInit callback ID
 432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *          @arg @ref HAL_PCD_MSPDEINIT_CB_ID MspDeInit callback ID
 433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterCallback(PCD_HandleTypeDef *hpcd, HAL_PCD_CallbackIDTypeDef Cal
 436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_StatusTypeDef status = HAL_OK;
 438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Process locked */
 440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Setup Legacy weak Callbacks  */
 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->State == HAL_PCD_STATE_READY)
 444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     switch (CallbackID)
 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
 447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_SOF_CB_ID :
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 14


 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->SOFCallback = HAL_PCD_SOFCallback;
 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_SETUPSTAGE_CB_ID :
 452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback;
 453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_RESET_CB_ID :
 456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->ResetCallback = HAL_PCD_ResetCallback;
 457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_SUSPEND_CB_ID :
 460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->SuspendCallback = HAL_PCD_SuspendCallback;
 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_RESUME_CB_ID :
 464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->ResumeCallback = HAL_PCD_ResumeCallback;
 465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_CONNECT_CB_ID :
 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->ConnectCallback = HAL_PCD_ConnectCallback;
 469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_DISCONNECT_CB_ID :
 472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback;
 473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_MSPINIT_CB_ID :
 476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->MspInitCallback = HAL_PCD_MspInit;
 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_MSPDEINIT_CB_ID :
 480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->MspDeInitCallback = HAL_PCD_MspDeInit;
 481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       default :
 484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* Update the error code */
 485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* Return error status */
 488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         status =  HAL_ERROR;
 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
 491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else if (hpcd->State == HAL_PCD_STATE_RESET)
 493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     switch (CallbackID)
 495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
 496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_MSPINIT_CB_ID :
 497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->MspInitCallback = HAL_PCD_MspInit;
 498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       case HAL_PCD_MSPDEINIT_CB_ID :
 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->MspDeInitCallback = HAL_PCD_MspDeInit;
 502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       default :
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 15


 505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* Update the error code */
 506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* Return error status */
 509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         status =  HAL_ERROR;
 510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         break;
 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Return error status */
 519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     status =  HAL_ERROR;
 520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Release Lock */
 523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return status;
 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Register USB PCD Data OUT Stage Callback
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         To be used instead of the weak HAL_PCD_DataOutStageCallback() predefined callback
 530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  pCallback pointer to the USB PCD Data OUT Stage Callback function
 532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd, pPCD_DataOutStageCa
 535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_StatusTypeDef status = HAL_OK;
 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (pCallback == NULL)
 539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
 544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Process locked */
 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->State == HAL_PCD_STATE_READY)
 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->DataOutStageCallback = pCallback;
 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Return error status */
 559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     status =  HAL_ERROR;
 560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 16


 562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Release Lock */
 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return status;
 566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  UnRegister the USB PCD Data OUT Stage Callback
 570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         USB PCD Data OUT Stage Callback is redirected to the weak HAL_PCD_DataOutStageCallback(
 571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd)
 575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_StatusTypeDef status = HAL_OK;
 577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Process locked */
 579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->State == HAL_PCD_STATE_READY)
 582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback; /* Legacy weak DataOutStageCallback 
 584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
 586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Return error status */
 591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     status =  HAL_ERROR;
 592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Release Lock */
 595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return status;
 598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Register USB PCD Data IN Stage Callback
 602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         To be used instead of the weak HAL_PCD_DataInStageCallback() predefined callback
 603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  pCallback pointer to the USB PCD Data IN Stage Callback function
 605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterDataInStageCallback(PCD_HandleTypeDef *hpcd, pPCD_DataInStageCall
 608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_StatusTypeDef status = HAL_OK;
 610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (pCallback == NULL)
 612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
 617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 17


 619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Process locked */
 620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->State == HAL_PCD_STATE_READY)
 623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->DataInStageCallback = pCallback;
 625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
 627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Return error status */
 632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     status =  HAL_ERROR;
 633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Release Lock */
 636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return status;
 639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  UnRegister the USB PCD Data IN Stage Callback
 643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         USB PCD Data OUT Stage Callback is redirected to the weak HAL_PCD_DataInStageCallback()
 644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterDataInStageCallback(PCD_HandleTypeDef *hpcd)
 648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_StatusTypeDef status = HAL_OK;
 650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Process locked */
 652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->State == HAL_PCD_STATE_READY)
 655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback; /* Legacy weak DataInStageCallback  */
 657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
 659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Return error status */
 664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     status =  HAL_ERROR;
 665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Release Lock */
 668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return status;
 671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Register USB PCD Iso OUT incomplete Callback
 675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         To be used instead of the weak HAL_PCD_ISOOUTIncompleteCallback() predefined callback
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 18


 676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  pCallback pointer to the USB PCD Iso OUT incomplete Callback function
 678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd, pPCD_IsoOutIncpltCa
 681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_StatusTypeDef status = HAL_OK;
 683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (pCallback == NULL)
 685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
 690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Process locked */
 693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->State == HAL_PCD_STATE_READY)
 696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ISOOUTIncompleteCallback = pCallback;
 698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
 700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Return error status */
 705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     status =  HAL_ERROR;
 706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Release Lock */
 709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return status;
 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  UnRegister the USB PCD Iso OUT incomplete Callback
 716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         USB PCD Iso OUT incomplete Callback is redirected to the weak HAL_PCD_ISOOUTIncompleteC
 717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd)
 721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_StatusTypeDef status = HAL_OK;
 723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Process locked */
 725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->State == HAL_PCD_STATE_READY)
 728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback; /* Legacy weak ISOOUTIncompl
 730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
 732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 19


 733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Return error status */
 737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     status =  HAL_ERROR;
 738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Release Lock */
 741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return status;
 744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Register USB PCD Iso IN incomplete Callback
 748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         To be used instead of the weak HAL_PCD_ISOINIncompleteCallback() predefined callback
 749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  pCallback pointer to the USB PCD Iso IN incomplete Callback function
 751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd, pPCD_IsoInIncpltCall
 754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_StatusTypeDef status = HAL_OK;
 756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (pCallback == NULL)
 758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
 763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Process locked */
 766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->State == HAL_PCD_STATE_READY)
 769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ISOINIncompleteCallback = pCallback;
 771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
 773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Return error status */
 778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     status =  HAL_ERROR;
 779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Release Lock */
 782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return status;
 785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  UnRegister the USB PCD Iso IN incomplete Callback
 789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   *         USB PCD Iso IN incomplete Callback is redirected to the weak HAL_PCD_ISOINIncompleteCal
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 20


 790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd)
 794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_StatusTypeDef status = HAL_OK;
 796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Process locked */
 798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (hpcd->State == HAL_PCD_STATE_READY)
 801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback; /* Legacy weak ISOINIncomplete
 803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
 805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Update the error code */
 807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
 808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Return error status */
 810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     status =  HAL_ERROR;
 811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Release Lock */
 814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return status;
 817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @}
 823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group2 Input and Output operation functions
 826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  *  @brief   Data transfers functions
 827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  *
 828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** @verbatim
 829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  ===============================================================================
 830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                       ##### IO operation functions #####
 831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  ===============================================================================
 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     [..]
 833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     This subsection provides a set of functions allowing to manage the PCD data
 834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     transfers.
 835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** @endverbatim
 837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @{
 838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Start the USB device
 842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd)
 846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 21


 263              		.loc 1 846 0
 264              		.cfi_startproc
 265              		@ args = 0, pretend = 0, frame = 0
 266              		@ frame_needed = 0, uses_anonymous_args = 0
 267              	.LVL21:
 847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 268              		.loc 1 847 0
 269 0000 90F82832 		ldrb	r3, [r0, #552]	@ zero_extendqisi2
 270 0004 012B     		cmp	r3, #1
 271 0006 10D0     		beq	.L17
 846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 272              		.loc 1 846 0 discriminator 2
 273 0008 10B5     		push	{r4, lr}
 274              	.LCFI4:
 275              		.cfi_def_cfa_offset 8
 276              		.cfi_offset 4, -8
 277              		.cfi_offset 14, -4
 278 000a 0446     		mov	r4, r0
 279              		.loc 1 847 0 discriminator 2
 280 000c 0121     		movs	r1, #1
 281 000e 80F82812 		strb	r1, [r0, #552]
 848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB)
 849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_PCDEx_SetConnectionState(hpcd, 1U);
 282              		.loc 1 849 0 discriminator 2
 283 0012 FFF7FEFF 		bl	HAL_PCDEx_SetConnectionState
 284              	.LVL22:
 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB) */
 851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_DevConnect(hpcd->Instance);
 285              		.loc 1 851 0 discriminator 2
 286 0016 2068     		ldr	r0, [r4]
 287 0018 FFF7FEFF 		bl	USB_DevConnect
 288              	.LVL23:
 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_PCD_ENABLE(hpcd);
 289              		.loc 1 852 0 discriminator 2
 290 001c 2068     		ldr	r0, [r4]
 291 001e FFF7FEFF 		bl	USB_EnableGlobalInt
 292              	.LVL24:
 853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 293              		.loc 1 853 0 discriminator 2
 294 0022 0020     		movs	r0, #0
 295 0024 84F82802 		strb	r0, [r4, #552]
 854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 296              		.loc 1 855 0 discriminator 2
 297 0028 10BD     		pop	{r4, pc}
 298              	.LVL25:
 299              	.L17:
 300              	.LCFI5:
 301              		.cfi_def_cfa_offset 0
 302              		.cfi_restore 4
 303              		.cfi_restore 14
 847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB)
 304              		.loc 1 847 0
 305 002a 0220     		movs	r0, #2
 306              	.LVL26:
 307              		.loc 1 855 0
 308 002c 7047     		bx	lr
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 22


 309              		.cfi_endproc
 310              	.LFE69:
 312              		.section	.text.HAL_PCD_Stop,"ax",%progbits
 313              		.align	1
 314              		.global	HAL_PCD_Stop
 315              		.syntax unified
 316              		.thumb
 317              		.thumb_func
 318              		.fpu softvfp
 320              	HAL_PCD_Stop:
 321              	.LFB70:
 856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Stop the USB device.
 859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
 861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Stop(PCD_HandleTypeDef *hpcd)
 863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 322              		.loc 1 863 0
 323              		.cfi_startproc
 324              		@ args = 0, pretend = 0, frame = 0
 325              		@ frame_needed = 0, uses_anonymous_args = 0
 326              	.LVL27:
 327 0000 38B5     		push	{r3, r4, r5, lr}
 328              	.LCFI6:
 329              		.cfi_def_cfa_offset 16
 330              		.cfi_offset 3, -16
 331              		.cfi_offset 4, -12
 332              		.cfi_offset 5, -8
 333              		.cfi_offset 14, -4
 864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 334              		.loc 1 864 0
 335 0002 90F82832 		ldrb	r3, [r0, #552]	@ zero_extendqisi2
 336 0006 012B     		cmp	r3, #1
 337 0008 18D0     		beq	.L25
 338 000a 0446     		mov	r4, r0
 339              		.loc 1 864 0 is_stmt 0 discriminator 2
 340 000c 0123     		movs	r3, #1
 341 000e 80F82832 		strb	r3, [r0, #552]
 865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_PCD_DISABLE(hpcd);
 342              		.loc 1 865 0 is_stmt 1 discriminator 2
 343 0012 0068     		ldr	r0, [r0]
 344              	.LVL28:
 345 0014 FFF7FEFF 		bl	USB_DisableGlobalInt
 346              	.LVL29:
 866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (USB_StopDevice(hpcd->Instance) != HAL_OK)
 347              		.loc 1 867 0 discriminator 2
 348 0018 2068     		ldr	r0, [r4]
 349 001a FFF7FEFF 		bl	USB_StopDevice
 350              	.LVL30:
 351 001e 0546     		mov	r5, r0
 352 0020 28B1     		cbz	r0, .L24
 868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     __HAL_UNLOCK(hpcd);
 353              		.loc 1 869 0
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 23


 354 0022 0023     		movs	r3, #0
 355 0024 84F82832 		strb	r3, [r4, #552]
 870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
 356              		.loc 1 870 0
 357 0028 0125     		movs	r5, #1
 358              	.LVL31:
 359              	.L23:
 871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_DevDisconnect(hpcd->Instance);
 874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
 877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 360              		.loc 1 877 0
 361 002a 2846     		mov	r0, r5
 362 002c 38BD     		pop	{r3, r4, r5, pc}
 363              	.LVL32:
 364              	.L24:
 873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 365              		.loc 1 873 0
 366 002e 2068     		ldr	r0, [r4]
 367 0030 FFF7FEFF 		bl	USB_DevDisconnect
 368              	.LVL33:
 874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 369              		.loc 1 874 0
 370 0034 0023     		movs	r3, #0
 371 0036 84F82832 		strb	r3, [r4, #552]
 876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 372              		.loc 1 876 0
 373 003a F6E7     		b	.L23
 374              	.LVL34:
 375              	.L25:
 864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_PCD_DISABLE(hpcd);
 376              		.loc 1 864 0
 377 003c 0225     		movs	r5, #2
 378 003e F4E7     		b	.L23
 379              		.cfi_endproc
 380              	.LFE70:
 382              		.section	.text.HAL_PCD_DeInit,"ax",%progbits
 383              		.align	1
 384              		.global	HAL_PCD_DeInit
 385              		.syntax unified
 386              		.thumb
 387              		.thumb_func
 388              		.fpu softvfp
 390              	HAL_PCD_DeInit:
 391              	.LFB66:
 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Check the PCD handle allocation */
 392              		.loc 1 245 0
 393              		.cfi_startproc
 394              		@ args = 0, pretend = 0, frame = 0
 395              		@ frame_needed = 0, uses_anonymous_args = 0
 396              	.LVL35:
 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 397              		.loc 1 247 0
 398 0000 68B1     		cbz	r0, .L29
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 24


 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Check the PCD handle allocation */
 399              		.loc 1 245 0
 400 0002 10B5     		push	{r4, lr}
 401              	.LCFI7:
 402              		.cfi_def_cfa_offset 8
 403              		.cfi_offset 4, -8
 404              		.cfi_offset 14, -4
 405 0004 0446     		mov	r4, r0
 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 406              		.loc 1 252 0
 407 0006 0323     		movs	r3, #3
 408 0008 80F82932 		strb	r3, [r0, #553]
 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 409              		.loc 1 255 0
 410 000c FFF7FEFF 		bl	HAL_PCD_Stop
 411              	.LVL36:
 267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 412              		.loc 1 267 0
 413 0010 2046     		mov	r0, r4
 414 0012 FFF7FEFF 		bl	HAL_PCD_MspDeInit
 415              	.LVL37:
 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 416              		.loc 1 270 0
 417 0016 0020     		movs	r0, #0
 418 0018 84F82902 		strb	r0, [r4, #553]
 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 419              		.loc 1 273 0
 420 001c 10BD     		pop	{r4, pc}
 421              	.LVL38:
 422              	.L29:
 423              	.LCFI8:
 424              		.cfi_def_cfa_offset 0
 425              		.cfi_restore 4
 426              		.cfi_restore 14
 249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 427              		.loc 1 249 0
 428 001e 0120     		movs	r0, #1
 429              	.LVL39:
 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 430              		.loc 1 273 0
 431 0020 7047     		bx	lr
 432              		.cfi_endproc
 433              	.LFE66:
 435              		.section	.text.HAL_PCD_DataOutStageCallback,"ax",%progbits
 436              		.align	1
 437              		.weak	HAL_PCD_DataOutStageCallback
 438              		.syntax unified
 439              		.thumb
 440              		.thumb_func
 441              		.fpu softvfp
 443              	HAL_PCD_DataOutStageCallback:
 444              	.LFB72:
 878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB_OTG_FS)
 879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
 880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Handles PCD interrupt request.
 881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
 882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 25


 883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
 884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd)
 885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   USB_OTG_GlobalTypeDef *USBx = hpcd->Instance;
 887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t i, ep_intr, epint, epnum;
 889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t fifoemptymsk, temp;
 890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   USB_OTG_EPTypeDef *ep;
 891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* ensure that we are in device mode */
 893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (USB_GetMode(hpcd->Instance) == USB_OTG_MODE_DEVICE)
 894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* avoid spurious interrupt */
 896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_IS_INVALID_INTERRUPT(hpcd))
 897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
 898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       return;
 899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
 900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_MMIS))
 902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
 903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* incorrect mode, acknowledge the interrupt */
 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_MMIS);
 905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
 906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OEPINT))
 908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
 909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       epnum = 0U;
 910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* Read in the device interrupt bits */
 912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       ep_intr = USB_ReadDevAllOutEpInterrupt(hpcd->Instance);
 913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       while (ep_intr != 0U)
 915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
 916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         if ((ep_intr & 0x1U) != 0U)
 917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
 918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           epint = USB_ReadDevOutEPInterrupt(hpcd->Instance, (uint8_t)epnum);
 919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((epint & USB_OTG_DOEPINT_XFRC) == USB_OTG_DOEPINT_XFRC)
 921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_XFRC);
 923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             (void)PCD_EP_OutXfrComplete_int(hpcd, epnum);
 924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
 925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((epint & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP)
 927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             /* Class B setup phase done for previous decoded setup */
 929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             (void)PCD_EP_OutSetupPacket_int(hpcd, epnum);
 930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STUP);
 931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
 932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((epint & USB_OTG_DOEPINT_OTEPDIS) == USB_OTG_DOEPINT_OTEPDIS)
 934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPDIS);
 936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
 937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           /* Clear Status Phase Received interrupt */
 939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((epint & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR)
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 26


 940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR);
 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
 943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           /* Clear OUT NAK interrupt */
 945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((epint & USB_OTG_DOEPINT_NAK) == USB_OTG_DOEPINT_NAK)
 946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_NAK);
 948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
 949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
 950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         epnum++;
 951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep_intr >>= 1U;
 952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
 953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
 954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IEPINT))
 956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
 957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* Read in the device interrupt bits */
 958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       ep_intr = USB_ReadDevAllInEpInterrupt(hpcd->Instance);
 959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       epnum = 0U;
 961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       while (ep_intr != 0U)
 963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
 964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         if ((ep_intr & 0x1U) != 0U) /* In ITR */
 965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
 966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           epint = USB_ReadDevInEPInterrupt(hpcd->Instance, (uint8_t)epnum);
 967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((epint & USB_OTG_DIEPINT_XFRC) == USB_OTG_DIEPINT_XFRC)
 969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK));
 971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk;
 972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_XFRC);
 974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             hpcd->DataInStageCallback(hpcd, (uint8_t)epnum);
 977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
 978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             HAL_PCD_DataInStageCallback(hpcd, (uint8_t)epnum);
 979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
 981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((epint & USB_OTG_DIEPINT_TOC) == USB_OTG_DIEPINT_TOC)
 982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_TOC);
 984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
 985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((epint & USB_OTG_DIEPINT_ITTXFE) == USB_OTG_DIEPINT_ITTXFE)
 986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_ITTXFE);
 988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
 989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((epint & USB_OTG_DIEPINT_INEPNE) == USB_OTG_DIEPINT_INEPNE)
 990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_INEPNE);
 992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
 993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((epint & USB_OTG_DIEPINT_EPDISD) == USB_OTG_DIEPINT_EPDISD)
 994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_EPDISD);
 996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 27


 997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((epint & USB_OTG_DIEPINT_TXFE) == USB_OTG_DIEPINT_TXFE)
 998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             (void)PCD_WriteEmptyTxFifo(hpcd, epnum);
1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         epnum++;
1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep_intr >>= 1U;
1004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Handle Resume Interrupt */
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT))
1009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* Clear the Remote Wake-up Signaling */
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG;
1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       hpcd->ResumeCallback(hpcd);
1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       HAL_PCD_ResumeCallback(hpcd);
1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT);
1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Handle Suspend Interrupt */
1023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP))
1024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       if ((USBx_DEVICE->DSTS & USB_OTG_DSTS_SUSPSTS) == USB_OTG_DSTS_SUSPSTS)
1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
1027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->SuspendCallback(hpcd);
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         HAL_PCD_SuspendCallback(hpcd);
1031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP);
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Handle Reset Interrupt */
1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBRST))
1037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG;
1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       (void)USB_FlushTxFifo(hpcd->Instance, 0x10U);
1040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       for (i = 0U; i < hpcd->Init.dev_endpoints; i++)
1042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         USBx_INEP(i)->DIEPINT = 0xFB7FU;
1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         USBx_INEP(i)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL;
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         USBx_OUTEP(i)->DOEPINT = 0xFB7FU;
1046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         USBx_OUTEP(i)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL;
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       USBx_DEVICE->DAINTMSK |= 0x10001U;
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       if (hpcd->Init.use_dedicated_ep1 != 0U)
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         USBx_DEVICE->DOUTEP1MSK |= USB_OTG_DOEPMSK_STUPM |
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                    USB_OTG_DOEPMSK_XFRCM |
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 28


1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                    USB_OTG_DOEPMSK_EPDM;
1055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         USBx_DEVICE->DINEP1MSK |= USB_OTG_DIEPMSK_TOM |
1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                   USB_OTG_DIEPMSK_XFRCM |
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                   USB_OTG_DIEPMSK_EPDM;
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
1060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       else
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         USBx_DEVICE->DOEPMSK |= USB_OTG_DOEPMSK_STUPM |
1063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                 USB_OTG_DOEPMSK_XFRCM |
1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                 USB_OTG_DOEPMSK_EPDM |
1065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                 USB_OTG_DOEPMSK_OTEPSPRM |
1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                 USB_OTG_DOEPMSK_NAKM;
1067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         USBx_DEVICE->DIEPMSK |= USB_OTG_DIEPMSK_TOM |
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                 USB_OTG_DIEPMSK_XFRCM |
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                 USB_OTG_DIEPMSK_EPDM;
1071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
1072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* Set Default Address to 0 */
1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       USBx_DEVICE->DCFG &= ~USB_OTG_DCFG_DAD;
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* setup EP0 to receive SETUP packets */
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t *)hpcd->Setup);
1078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBRST);
1080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Handle Enumeration done Interrupt */
1083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE))
1084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       (void)USB_ActivateSetup(hpcd->Instance);
1086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       hpcd->Init.speed = USB_GetDevSpeed(hpcd->Instance);
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* Set USB Turnaround time */
1089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       (void)USB_SetTurnaroundTime(hpcd->Instance,
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                   HAL_RCC_GetHCLKFreq(),
1091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                   (uint8_t)hpcd->Init.speed);
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       hpcd->ResetCallback(hpcd);
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       HAL_PCD_ResetCallback(hpcd);
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE);
1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Handle RxQLevel Interrupt */
1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_RXFLVL))
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       USB_MASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL);
1106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       temp = USBx->GRXSTSP;
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       ep = &hpcd->OUT_ep[temp & USB_OTG_GRXSTSP_EPNUM];
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 29


1111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) ==  STS_DATA_UPDT)
1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         if ((temp & USB_OTG_GRXSTSP_BCNT) != 0U)
1114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
1115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           (void)USB_ReadPacket(USBx, ep->xfer_buff,
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                                (uint16_t)((temp & USB_OTG_GRXSTSP_BCNT) >> 4));
1117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           ep->xfer_buff += (temp & USB_OTG_GRXSTSP_BCNT) >> 4;
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4;
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
1121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       else if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) ==  STS_SETUP_UPDT)
1123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         (void)USB_ReadPacket(USBx, (uint8_t *)hpcd->Setup, 8U);
1125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4;
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
1127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       else
1128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* ... */
1130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       USB_UNMASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL);
1132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Handle SOF Interrupt */
1135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SOF))
1136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       hpcd->SOFCallback(hpcd);
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       HAL_PCD_SOFCallback(hpcd);
1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SOF);
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Handle Incomplete ISO IN Interrupt */
1147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR))
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* Keep application checking the corresponding Iso IN endpoint
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       causing the incomplete Interrupt */
1151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       epnum = 0U;
1152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       hpcd->ISOINIncompleteCallback(hpcd, (uint8_t)epnum);
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       HAL_PCD_ISOINIncompleteCallback(hpcd, (uint8_t)epnum);
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR);
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Handle Incomplete ISO OUT Interrupt */
1163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT))
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* Keep application checking the corresponding Iso OUT endpoint
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       causing the incomplete Interrupt */
1167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       epnum = 0U;
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 30


1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       hpcd->ISOOUTIncompleteCallback(hpcd, (uint8_t)epnum);
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       HAL_PCD_ISOOUTIncompleteCallback(hpcd, (uint8_t)epnum);
1173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT);
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Handle Connection event Interrupt */
1179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT))
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       hpcd->ConnectCallback(hpcd);
1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       HAL_PCD_ConnectCallback(hpcd);
1185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT);
1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Handle Disconnection event Interrupt */
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OTGINT))
1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       temp = hpcd->Instance->GOTGINT;
1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       if ((temp & USB_OTG_GOTGINT_SEDET) == USB_OTG_GOTGINT_SEDET)
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->DisconnectCallback(hpcd);
1199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         HAL_PCD_DisconnectCallback(hpcd);
1201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
1203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       hpcd->Instance->GOTGINT |= temp;
1204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
1207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB)
1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  This function handles PCD interrupt request.
1212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd)
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_CTR))
1218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* servicing of the endpoint correct transfer interrupt */
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* clear of the CTR flag into the sub */
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     (void)PCD_EP_ISR_Handler(hpcd);
1222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_RESET))
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 31


1225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_RESET);
1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ResetCallback(hpcd);
1230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     HAL_PCD_ResetCallback(hpcd);
1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     (void)HAL_PCD_SetAddress(hpcd, 0U);
1235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_PMAOVR))
1238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_PMAOVR);
1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_ERR))
1243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ERR);
1245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_WKUP))
1248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_LP_MODE);
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_FSUSP);
1251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->ResumeCallback(hpcd);
1254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     HAL_PCD_ResumeCallback(hpcd);
1256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_WKUP);
1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_SUSP))
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Force low-power mode in the macrocell */
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->Instance->CNTR |= USB_CNTR_FSUSP;
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */
1267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SUSP);
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->Instance->CNTR |= USB_CNTR_LP_MODE;
1270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* WA: Clear Wakeup flag if raised with suspend signal */
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_WKUP))
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****        __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_WKUP);
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->SuspendCallback(hpcd);
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     HAL_PCD_SuspendCallback(hpcd);
1281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 32


1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_SOF))
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SOF);
1287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->SOFCallback(hpcd);
1290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     HAL_PCD_SOFCallback(hpcd);
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_ESOF))
1296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* clear ESOF flag in ISTR */
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ESOF);
1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB) */
1302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Data OUT stage callback.
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  epnum endpoint number
1307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
1310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 445              		.loc 1 1310 0
 446              		.cfi_startproc
 447              		@ args = 0, pretend = 0, frame = 0
 448              		@ frame_needed = 0, uses_anonymous_args = 0
 449              		@ link register save eliminated.
 450              	.LVL40:
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(epnum);
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
1316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_DataOutStageCallback could be implemented in the user file
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 451              		.loc 1 1318 0
 452 0000 7047     		bx	lr
 453              		.cfi_endproc
 454              	.LFE72:
 456              		.section	.text.HAL_PCD_DataInStageCallback,"ax",%progbits
 457              		.align	1
 458              		.weak	HAL_PCD_DataInStageCallback
 459              		.syntax unified
 460              		.thumb
 461              		.thumb_func
 462              		.fpu softvfp
 464              	HAL_PCD_DataInStageCallback:
 465              	.LFB73:
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 33


1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Data IN stage callback
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  epnum endpoint number
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
1325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
1327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 466              		.loc 1 1327 0
 467              		.cfi_startproc
 468              		@ args = 0, pretend = 0, frame = 0
 469              		@ frame_needed = 0, uses_anonymous_args = 0
 470              		@ link register save eliminated.
 471              	.LVL41:
1328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
1330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(epnum);
1331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_DataInStageCallback could be implemented in the user file
1334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 472              		.loc 1 1335 0
 473 0000 7047     		bx	lr
 474              		.cfi_endproc
 475              	.LFE73:
 477              		.section	.text.HAL_PCD_SetupStageCallback,"ax",%progbits
 478              		.align	1
 479              		.weak	HAL_PCD_SetupStageCallback
 480              		.syntax unified
 481              		.thumb
 482              		.thumb_func
 483              		.fpu softvfp
 485              	HAL_PCD_SetupStageCallback:
 486              	.LFB74:
1336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Setup stage callback
1338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd)
1342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 487              		.loc 1 1342 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:
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_SetupStageCallback could be implemented in the user file
1348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 493              		.loc 1 1349 0
 494 0000 7047     		bx	lr
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 34


 495              		.cfi_endproc
 496              	.LFE74:
 498              		.section	.text.HAL_PCD_SOFCallback,"ax",%progbits
 499              		.align	1
 500              		.weak	HAL_PCD_SOFCallback
 501              		.syntax unified
 502              		.thumb
 503              		.thumb_func
 504              		.fpu softvfp
 506              	HAL_PCD_SOFCallback:
 507              	.LFB75:
1350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  USB Start Of Frame callback.
1353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
1355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd)
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 508              		.loc 1 1357 0
 509              		.cfi_startproc
 510              		@ args = 0, pretend = 0, frame = 0
 511              		@ frame_needed = 0, uses_anonymous_args = 0
 512              		@ link register save eliminated.
 513              	.LVL43:
1358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
1360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_SOFCallback could be implemented in the user file
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
1364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 514              		.loc 1 1364 0
 515 0000 7047     		bx	lr
 516              		.cfi_endproc
 517              	.LFE75:
 519              		.section	.text.HAL_PCD_ResetCallback,"ax",%progbits
 520              		.align	1
 521              		.weak	HAL_PCD_ResetCallback
 522              		.syntax unified
 523              		.thumb
 524              		.thumb_func
 525              		.fpu softvfp
 527              	HAL_PCD_ResetCallback:
 528              	.LFB76:
1365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  USB Reset callback.
1368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
1370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd)
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 529              		.loc 1 1372 0
 530              		.cfi_startproc
 531              		@ args = 0, pretend = 0, frame = 0
 532              		@ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 35


 533              		@ link register save eliminated.
 534              	.LVL44:
1373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_ResetCallback could be implemented in the user file
1378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
1379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 535              		.loc 1 1379 0
 536 0000 7047     		bx	lr
 537              		.cfi_endproc
 538              	.LFE76:
 540              		.section	.text.HAL_PCD_SuspendCallback,"ax",%progbits
 541              		.align	1
 542              		.weak	HAL_PCD_SuspendCallback
 543              		.syntax unified
 544              		.thumb
 545              		.thumb_func
 546              		.fpu softvfp
 548              	HAL_PCD_SuspendCallback:
 549              	.LFB77:
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Suspend event callback.
1383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)
1387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 550              		.loc 1 1387 0
 551              		.cfi_startproc
 552              		@ args = 0, pretend = 0, frame = 0
 553              		@ frame_needed = 0, uses_anonymous_args = 0
 554              		@ link register save eliminated.
 555              	.LVL45:
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
1389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
1390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_SuspendCallback could be implemented in the user file
1393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 556              		.loc 1 1394 0
 557 0000 7047     		bx	lr
 558              		.cfi_endproc
 559              	.LFE77:
 561              		.section	.text.HAL_PCD_ResumeCallback,"ax",%progbits
 562              		.align	1
 563              		.weak	HAL_PCD_ResumeCallback
 564              		.syntax unified
 565              		.thumb
 566              		.thumb_func
 567              		.fpu softvfp
 569              	HAL_PCD_ResumeCallback:
 570              	.LFB78:
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 36


1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Resume event callback.
1398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd)
1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 571              		.loc 1 1402 0
 572              		.cfi_startproc
 573              		@ args = 0, pretend = 0, frame = 0
 574              		@ frame_needed = 0, uses_anonymous_args = 0
 575              		@ link register save eliminated.
 576              	.LVL46:
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
1404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_ResumeCallback could be implemented in the user file
1408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
1409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 577              		.loc 1 1409 0
 578 0000 7047     		bx	lr
 579              		.cfi_endproc
 580              	.LFE78:
 582              		.section	.text.HAL_PCD_ISOOUTIncompleteCallback,"ax",%progbits
 583              		.align	1
 584              		.weak	HAL_PCD_ISOOUTIncompleteCallback
 585              		.syntax unified
 586              		.thumb
 587              		.thumb_func
 588              		.fpu softvfp
 590              	HAL_PCD_ISOOUTIncompleteCallback:
 591              	.LFB79:
1410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Incomplete ISO OUT callback.
1413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  epnum endpoint number
1415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
1416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 592              		.loc 1 1418 0
 593              		.cfi_startproc
 594              		@ args = 0, pretend = 0, frame = 0
 595              		@ frame_needed = 0, uses_anonymous_args = 0
 596              		@ link register save eliminated.
 597              	.LVL47:
1419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
1420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
1421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(epnum);
1422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_ISOOUTIncompleteCallback could be implemented in the user file
1425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
1426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 598              		.loc 1 1426 0
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 37


 599 0000 7047     		bx	lr
 600              		.cfi_endproc
 601              	.LFE79:
 603              		.section	.text.HAL_PCD_ISOINIncompleteCallback,"ax",%progbits
 604              		.align	1
 605              		.weak	HAL_PCD_ISOINIncompleteCallback
 606              		.syntax unified
 607              		.thumb
 608              		.thumb_func
 609              		.fpu softvfp
 611              	HAL_PCD_ISOINIncompleteCallback:
 612              	.LFB80:
1427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Incomplete ISO IN callback.
1430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  epnum endpoint number
1432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
1433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
1435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 613              		.loc 1 1435 0
 614              		.cfi_startproc
 615              		@ args = 0, pretend = 0, frame = 0
 616              		@ frame_needed = 0, uses_anonymous_args = 0
 617              		@ link register save eliminated.
 618              	.LVL48:
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
1437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
1438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(epnum);
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
1441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_ISOINIncompleteCallback could be implemented in the user file
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
1443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 619              		.loc 1 1443 0
 620 0000 7047     		bx	lr
 621              		.cfi_endproc
 622              	.LFE80:
 624              		.section	.text.HAL_PCD_ConnectCallback,"ax",%progbits
 625              		.align	1
 626              		.weak	HAL_PCD_ConnectCallback
 627              		.syntax unified
 628              		.thumb
 629              		.thumb_func
 630              		.fpu softvfp
 632              	HAL_PCD_ConnectCallback:
 633              	.LFB81:
1444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Connection event callback.
1447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
1449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 634              		.loc 1 1451 0
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 38


 635              		.cfi_startproc
 636              		@ args = 0, pretend = 0, frame = 0
 637              		@ frame_needed = 0, uses_anonymous_args = 0
 638              		@ link register save eliminated.
 639              	.LVL49:
1452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_ConnectCallback could be implemented in the user file
1457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 640              		.loc 1 1458 0
 641 0000 7047     		bx	lr
 642              		.cfi_endproc
 643              	.LFE81:
 645              		.section	.text.HAL_PCD_DisconnectCallback,"ax",%progbits
 646              		.align	1
 647              		.weak	HAL_PCD_DisconnectCallback
 648              		.syntax unified
 649              		.thumb
 650              		.thumb_func
 651              		.fpu softvfp
 653              	HAL_PCD_DisconnectCallback:
 654              	.LFB82:
1459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Disconnection event callback.
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval None
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** __weak void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 655              		.loc 1 1466 0
 656              		.cfi_startproc
 657              		@ args = 0, pretend = 0, frame = 0
 658              		@ frame_needed = 0, uses_anonymous_args = 0
 659              		@ link register save eliminated.
 660              	.LVL50:
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Prevent unused argument(s) compilation warning */
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   UNUSED(hpcd);
1469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* NOTE : This function should not be modified, when the callback is needed,
1471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             the HAL_PCD_DisconnectCallback could be implemented in the user file
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****    */
1473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 661              		.loc 1 1473 0
 662 0000 7047     		bx	lr
 663              		.cfi_endproc
 664              	.LFE82:
 666              		.section	.text.HAL_PCD_DevConnect,"ax",%progbits
 667              		.align	1
 668              		.global	HAL_PCD_DevConnect
 669              		.syntax unified
 670              		.thumb
 671              		.thumb_func
 672              		.fpu softvfp
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 39


 674              	HAL_PCD_DevConnect:
 675              	.LFB83:
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @}
1477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group3 Peripheral Control functions
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  *  @brief   management functions
1481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  *
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** @verbatim
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  ===============================================================================
1484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                       ##### Peripheral Control functions #####
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  ===============================================================================
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     [..]
1487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     This subsection provides a set of functions allowing to control the PCD data
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     transfers.
1489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** @endverbatim
1491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @{
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Connect the USB device
1496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DevConnect(PCD_HandleTypeDef *hpcd)
1500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 676              		.loc 1 1500 0
 677              		.cfi_startproc
 678              		@ args = 0, pretend = 0, frame = 0
 679              		@ frame_needed = 0, uses_anonymous_args = 0
 680              	.LVL51:
1501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 681              		.loc 1 1501 0
 682 0000 90F82832 		ldrb	r3, [r0, #552]	@ zero_extendqisi2
 683 0004 012B     		cmp	r3, #1
 684 0006 0DD0     		beq	.L47
1500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 685              		.loc 1 1500 0 discriminator 2
 686 0008 10B5     		push	{r4, lr}
 687              	.LCFI9:
 688              		.cfi_def_cfa_offset 8
 689              		.cfi_offset 4, -8
 690              		.cfi_offset 14, -4
 691 000a 0446     		mov	r4, r0
 692              		.loc 1 1501 0 discriminator 2
 693 000c 0121     		movs	r1, #1
 694 000e 80F82812 		strb	r1, [r0, #552]
1502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB)
1503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_PCDEx_SetConnectionState(hpcd, 1U);
 695              		.loc 1 1503 0 discriminator 2
 696 0012 FFF7FEFF 		bl	HAL_PCDEx_SetConnectionState
 697              	.LVL52:
1504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB) */
1505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_DevConnect(hpcd->Instance);
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 40


 698              		.loc 1 1505 0 discriminator 2
 699 0016 2068     		ldr	r0, [r4]
 700 0018 FFF7FEFF 		bl	USB_DevConnect
 701              	.LVL53:
1506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 702              		.loc 1 1506 0 discriminator 2
 703 001c 0020     		movs	r0, #0
 704 001e 84F82802 		strb	r0, [r4, #552]
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 705              		.loc 1 1508 0 discriminator 2
 706 0022 10BD     		pop	{r4, pc}
 707              	.LVL54:
 708              	.L47:
 709              	.LCFI10:
 710              		.cfi_def_cfa_offset 0
 711              		.cfi_restore 4
 712              		.cfi_restore 14
1501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB)
 713              		.loc 1 1501 0
 714 0024 0220     		movs	r0, #2
 715              	.LVL55:
 716              		.loc 1 1508 0
 717 0026 7047     		bx	lr
 718              		.cfi_endproc
 719              	.LFE83:
 721              		.section	.text.HAL_PCD_DevDisconnect,"ax",%progbits
 722              		.align	1
 723              		.global	HAL_PCD_DevDisconnect
 724              		.syntax unified
 725              		.thumb
 726              		.thumb_func
 727              		.fpu softvfp
 729              	HAL_PCD_DevDisconnect:
 730              	.LFB84:
1509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Disconnect the USB device.
1512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DevDisconnect(PCD_HandleTypeDef *hpcd)
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 731              		.loc 1 1516 0
 732              		.cfi_startproc
 733              		@ args = 0, pretend = 0, frame = 0
 734              		@ frame_needed = 0, uses_anonymous_args = 0
 735              	.LVL56:
1517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 736              		.loc 1 1517 0
 737 0000 90F82832 		ldrb	r3, [r0, #552]	@ zero_extendqisi2
 738 0004 012B     		cmp	r3, #1
 739 0006 0ED0     		beq	.L54
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 740              		.loc 1 1516 0 discriminator 2
 741 0008 10B5     		push	{r4, lr}
 742              	.LCFI11:
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 41


 743              		.cfi_def_cfa_offset 8
 744              		.cfi_offset 4, -8
 745              		.cfi_offset 14, -4
 746 000a 0446     		mov	r4, r0
 747              		.loc 1 1517 0 discriminator 2
 748 000c 0123     		movs	r3, #1
 749 000e 80F82832 		strb	r3, [r0, #552]
1518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB)
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_PCDEx_SetConnectionState(hpcd, 0U);
 750              		.loc 1 1519 0 discriminator 2
 751 0012 0021     		movs	r1, #0
 752 0014 FFF7FEFF 		bl	HAL_PCDEx_SetConnectionState
 753              	.LVL57:
1520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB) */
1521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_DevDisconnect(hpcd->Instance);
 754              		.loc 1 1521 0 discriminator 2
 755 0018 2068     		ldr	r0, [r4]
 756 001a FFF7FEFF 		bl	USB_DevDisconnect
 757              	.LVL58:
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 758              		.loc 1 1522 0 discriminator 2
 759 001e 0020     		movs	r0, #0
 760 0020 84F82802 		strb	r0, [r4, #552]
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 761              		.loc 1 1524 0 discriminator 2
 762 0024 10BD     		pop	{r4, pc}
 763              	.LVL59:
 764              	.L54:
 765              	.LCFI12:
 766              		.cfi_def_cfa_offset 0
 767              		.cfi_restore 4
 768              		.cfi_restore 14
1517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB)
 769              		.loc 1 1517 0
 770 0026 0220     		movs	r0, #2
 771              	.LVL60:
 772              		.loc 1 1524 0
 773 0028 7047     		bx	lr
 774              		.cfi_endproc
 775              	.LFE84:
 777              		.section	.text.HAL_PCD_SetAddress,"ax",%progbits
 778              		.align	1
 779              		.global	HAL_PCD_SetAddress
 780              		.syntax unified
 781              		.thumb
 782              		.thumb_func
 783              		.fpu softvfp
 785              	HAL_PCD_SetAddress:
 786              	.LFB85:
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Set the USB Device address.
1528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  address new device address
1530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 42


1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address)
1533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 787              		.loc 1 1533 0
 788              		.cfi_startproc
 789              		@ args = 0, pretend = 0, frame = 0
 790              		@ frame_needed = 0, uses_anonymous_args = 0
 791              	.LVL61:
1534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 792              		.loc 1 1534 0
 793 0000 90F82832 		ldrb	r3, [r0, #552]	@ zero_extendqisi2
 794 0004 012B     		cmp	r3, #1
 795 0006 0DD0     		beq	.L61
1533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 796              		.loc 1 1533 0 discriminator 2
 797 0008 10B5     		push	{r4, lr}
 798              	.LCFI13:
 799              		.cfi_def_cfa_offset 8
 800              		.cfi_offset 4, -8
 801              		.cfi_offset 14, -4
 802 000a 0446     		mov	r4, r0
 803              		.loc 1 1534 0 discriminator 2
 804 000c 0123     		movs	r3, #1
 805 000e 80F82832 		strb	r3, [r0, #552]
1535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   hpcd->USB_Address = address;
 806              		.loc 1 1535 0 discriminator 2
 807 0012 80F82410 		strb	r1, [r0, #36]
1536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_SetDevAddress(hpcd->Instance, address);
 808              		.loc 1 1536 0 discriminator 2
 809 0016 0068     		ldr	r0, [r0]
 810              	.LVL62:
 811 0018 FFF7FEFF 		bl	USB_SetDevAddress
 812              	.LVL63:
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 813              		.loc 1 1537 0 discriminator 2
 814 001c 0020     		movs	r0, #0
 815 001e 84F82802 		strb	r0, [r4, #552]
1538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 816              		.loc 1 1539 0 discriminator 2
 817 0022 10BD     		pop	{r4, pc}
 818              	.LVL64:
 819              	.L61:
 820              	.LCFI14:
 821              		.cfi_def_cfa_offset 0
 822              		.cfi_restore 4
 823              		.cfi_restore 14
1534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   hpcd->USB_Address = address;
 824              		.loc 1 1534 0
 825 0024 0220     		movs	r0, #2
 826              	.LVL65:
 827              		.loc 1 1539 0
 828 0026 7047     		bx	lr
 829              		.cfi_endproc
 830              	.LFE85:
 832              		.section	.text.HAL_PCD_EP_Open,"ax",%progbits
 833              		.align	1
 834              		.global	HAL_PCD_EP_Open
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 43


 835              		.syntax unified
 836              		.thumb
 837              		.thumb_func
 838              		.fpu softvfp
 840              	HAL_PCD_EP_Open:
 841              	.LFB86:
1540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Open and configure an endpoint.
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  ep_addr endpoint address
1544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  ep_mps endpoint max packet size
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  ep_type endpoint type
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint16_t ep_mps, uint8_
1549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 842              		.loc 1 1549 0
 843              		.cfi_startproc
 844              		@ args = 0, pretend = 0, frame = 0
 845              		@ frame_needed = 0, uses_anonymous_args = 0
 846              	.LVL66:
 847 0000 70B5     		push	{r4, r5, r6, lr}
 848              	.LCFI15:
 849              		.cfi_def_cfa_offset 16
 850              		.cfi_offset 4, -16
 851              		.cfi_offset 5, -12
 852              		.cfi_offset 6, -8
 853              		.cfi_offset 14, -4
 854              	.LVL67:
1550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_StatusTypeDef  ret = HAL_OK;
1551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   PCD_EPTypeDef *ep;
1552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if ((ep_addr & 0x80U) == 0x80U)
 855              		.loc 1 1553 0
 856 0002 11F0800F 		tst	r1, #128
 857 0006 23D1     		bne	.L74
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 1U;
1557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
1559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK];
 858              		.loc 1 1560 0
 859 0008 01F00705 		and	r5, r1, #7
 860 000c 6D01     		lsls	r5, r5, #5
 861 000e 05F59474 		add	r4, r5, #296
 862 0012 0444     		add	r4, r4, r0
 863              	.LVL68:
1561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 0U;
 864              		.loc 1 1561 0
 865 0014 0544     		add	r5, r5, r0
 866 0016 0026     		movs	r6, #0
 867 0018 85F82961 		strb	r6, [r5, #297]
 868              	.L68:
1562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 44


1564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->num = ep_addr & EP_ADDR_MSK;
 869              		.loc 1 1564 0
 870 001c 01F00701 		and	r1, r1, #7
 871              	.LVL69:
 872 0020 2170     		strb	r1, [r4]
1565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->maxpacket = ep_mps;
 873              		.loc 1 1565 0
 874 0022 2261     		str	r2, [r4, #16]
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->type = ep_type;
 875              		.loc 1 1566 0
 876 0024 E370     		strb	r3, [r4, #3]
1567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (ep->is_in != 0U)
 877              		.loc 1 1568 0
 878 0026 6278     		ldrb	r2, [r4, #1]	@ zero_extendqisi2
 879              	.LVL70:
 880 0028 02B1     		cbz	r2, .L69
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Assign a Tx FIFO */
1571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->tx_fifo_num = ep->num;
 881              		.loc 1 1571 0
 882 002a E181     		strh	r1, [r4, #14]	@ movhi
 883              	.L69:
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Set initial data PID. */
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (ep_type == EP_TYPE_BULK)
 884              		.loc 1 1574 0
 885 002c 022B     		cmp	r3, #2
 886 002e 1AD0     		beq	.L75
 887              	.LVL71:
 888              	.L70:
1575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->data_pid_start = 0U;
1577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 889              		.loc 1 1579 0
 890 0030 90F82832 		ldrb	r3, [r0, #552]	@ zero_extendqisi2
 891 0034 012B     		cmp	r3, #1
 892 0036 19D0     		beq	.L72
 893 0038 0546     		mov	r5, r0
 894              		.loc 1 1579 0 is_stmt 0 discriminator 2
 895 003a 0123     		movs	r3, #1
 896 003c 80F82832 		strb	r3, [r0, #552]
 897              	.LVL72:
1580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_ActivateEndpoint(hpcd->Instance, ep);
 898              		.loc 1 1580 0 is_stmt 1 discriminator 2
 899 0040 2146     		mov	r1, r4
 900 0042 0068     		ldr	r0, [r0]
 901              	.LVL73:
 902 0044 FFF7FEFF 		bl	USB_ActivateEndpoint
 903              	.LVL74:
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 904              		.loc 1 1581 0 discriminator 2
 905 0048 0020     		movs	r0, #0
 906 004a 85F82802 		strb	r0, [r5, #552]
 907              	.LVL75:
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 45


 908              	.L71:
1582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return ret;
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 909              		.loc 1 1584 0
 910 004e 70BD     		pop	{r4, r5, r6, pc}
 911              	.LVL76:
 912              	.L74:
1555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 1U;
 913              		.loc 1 1555 0
 914 0050 01F00705 		and	r5, r1, #7
 915 0054 6D01     		lsls	r5, r5, #5
 916 0056 05F12804 		add	r4, r5, #40
 917 005a 0444     		add	r4, r4, r0
 918              	.LVL77:
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 919              		.loc 1 1556 0
 920 005c 0544     		add	r5, r5, r0
 921 005e 0126     		movs	r6, #1
 922 0060 85F82960 		strb	r6, [r5, #41]
 923 0064 DAE7     		b	.L68
 924              	.LVL78:
 925              	.L75:
1576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 926              		.loc 1 1576 0
 927 0066 0023     		movs	r3, #0
 928              	.LVL79:
 929 0068 2371     		strb	r3, [r4, #4]
 930 006a E1E7     		b	.L70
 931              	.L72:
1579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_ActivateEndpoint(hpcd->Instance, ep);
 932              		.loc 1 1579 0
 933 006c 0220     		movs	r0, #2
 934              	.LVL80:
 935 006e EEE7     		b	.L71
 936              		.cfi_endproc
 937              	.LFE86:
 939              		.section	.text.HAL_PCD_EP_Close,"ax",%progbits
 940              		.align	1
 941              		.global	HAL_PCD_EP_Close
 942              		.syntax unified
 943              		.thumb
 944              		.thumb_func
 945              		.fpu softvfp
 947              	HAL_PCD_EP_Close:
 948              	.LFB87:
1585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Deactivate an endpoint.
1588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  ep_addr endpoint address
1590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
1593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 949              		.loc 1 1593 0
 950              		.cfi_startproc
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 46


 951              		@ args = 0, pretend = 0, frame = 0
 952              		@ frame_needed = 0, uses_anonymous_args = 0
 953              	.LVL81:
 954 0000 10B5     		push	{r4, lr}
 955              	.LCFI16:
 956              		.cfi_def_cfa_offset 8
 957              		.cfi_offset 4, -8
 958              		.cfi_offset 14, -4
1594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   PCD_EPTypeDef *ep;
1595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if ((ep_addr & 0x80U) == 0x80U)
 959              		.loc 1 1596 0
 960 0002 11F0800F 		tst	r1, #128
 961 0006 1CD1     		bne	.L82
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
1599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 1U;
1600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
1602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK];
 962              		.loc 1 1603 0
 963 0008 01F00703 		and	r3, r1, #7
 964 000c 5B01     		lsls	r3, r3, #5
 965 000e 03F59472 		add	r2, r3, #296
 966 0012 0244     		add	r2, r2, r0
 967              	.LVL82:
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 0U;
 968              		.loc 1 1604 0
 969 0014 0344     		add	r3, r3, r0
 970 0016 0024     		movs	r4, #0
 971 0018 83F82941 		strb	r4, [r3, #297]
 972              	.L78:
1605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->num   = ep_addr & EP_ADDR_MSK;
 973              		.loc 1 1606 0
 974 001c 01F00703 		and	r3, r1, #7
 975 0020 1370     		strb	r3, [r2]
1607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 976              		.loc 1 1608 0
 977 0022 90F82832 		ldrb	r3, [r0, #552]	@ zero_extendqisi2
 978 0026 012B     		cmp	r3, #1
 979 0028 16D0     		beq	.L80
 980 002a 0446     		mov	r4, r0
 981              		.loc 1 1608 0 is_stmt 0 discriminator 2
 982 002c 0123     		movs	r3, #1
 983 002e 80F82832 		strb	r3, [r0, #552]
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_DeactivateEndpoint(hpcd->Instance, ep);
 984              		.loc 1 1609 0 is_stmt 1 discriminator 2
 985 0032 1146     		mov	r1, r2
 986              	.LVL83:
 987 0034 0068     		ldr	r0, [r0]
 988              	.LVL84:
 989 0036 FFF7FEFF 		bl	USB_DeactivateEndpoint
 990              	.LVL85:
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 47


 991              		.loc 1 1610 0 discriminator 2
 992 003a 0020     		movs	r0, #0
 993 003c 84F82802 		strb	r0, [r4, #552]
 994              	.LVL86:
 995              	.L79:
1611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 996              		.loc 1 1612 0
 997 0040 10BD     		pop	{r4, pc}
 998              	.LVL87:
 999              	.L82:
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 1U;
 1000              		.loc 1 1598 0
 1001 0042 01F00703 		and	r3, r1, #7
 1002 0046 5B01     		lsls	r3, r3, #5
 1003 0048 03F12802 		add	r2, r3, #40
 1004 004c 0244     		add	r2, r2, r0
 1005              	.LVL88:
1599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1006              		.loc 1 1599 0
 1007 004e 0344     		add	r3, r3, r0
 1008 0050 0124     		movs	r4, #1
 1009 0052 83F82940 		strb	r4, [r3, #41]
 1010 0056 E1E7     		b	.L78
 1011              	.L80:
1608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_DeactivateEndpoint(hpcd->Instance, ep);
 1012              		.loc 1 1608 0
 1013 0058 0220     		movs	r0, #2
 1014              	.LVL89:
 1015 005a F1E7     		b	.L79
 1016              		.cfi_endproc
 1017              	.LFE87:
 1019              		.section	.text.HAL_PCD_EP_Receive,"ax",%progbits
 1020              		.align	1
 1021              		.global	HAL_PCD_EP_Receive
 1022              		.syntax unified
 1023              		.thumb
 1024              		.thumb_func
 1025              		.fpu softvfp
 1027              	HAL_PCD_EP_Receive:
 1028              	.LFB88:
1613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Receive an amount of data.
1617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  ep_addr endpoint address
1619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  pBuf pointer to the reception buffer
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  len amount of data to be received
1621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint3
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 1029              		.loc 1 1624 0
 1030              		.cfi_startproc
 1031              		@ args = 0, pretend = 0, frame = 0
 1032              		@ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 48


 1033              	.LVL90:
 1034 0000 70B5     		push	{r4, r5, r6, lr}
 1035              	.LCFI17:
 1036              		.cfi_def_cfa_offset 16
 1037              		.cfi_offset 4, -16
 1038              		.cfi_offset 5, -12
 1039              		.cfi_offset 6, -8
 1040              		.cfi_offset 14, -4
 1041 0002 01F00705 		and	r5, r1, #7
1625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   PCD_EPTypeDef *ep;
1626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK];
 1042              		.loc 1 1627 0
 1043 0006 6C01     		lsls	r4, r5, #5
 1044 0008 04F59471 		add	r1, r4, #296
 1045              	.LVL91:
 1046 000c 0144     		add	r1, r1, r0
 1047              	.LVL92:
1628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /*setup and start the Xfer */
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->xfer_buff = pBuf;
 1048              		.loc 1 1630 0
 1049 000e 0444     		add	r4, r4, r0
 1050 0010 C4F83C21 		str	r2, [r4, #316]
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->xfer_len = len;
 1051              		.loc 1 1631 0
 1052 0014 05F10A02 		add	r2, r5, #10
 1053              	.LVL93:
 1054 0018 5201     		lsls	r2, r2, #5
 1055 001a 8618     		adds	r6, r0, r2
 1056 001c 8350     		str	r3, [r0, r2]
 1057              	.LVL94:
1632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->xfer_count = 0U;
 1058              		.loc 1 1632 0
 1059 001e 0023     		movs	r3, #0
 1060              	.LVL95:
 1061 0020 7360     		str	r3, [r6, #4]
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->is_in = 0U;
 1062              		.loc 1 1633 0
 1063 0022 84F82931 		strb	r3, [r4, #297]
 1064              	.LVL96:
1634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->num = ep_addr & EP_ADDR_MSK;
 1065              		.loc 1 1634 0
 1066 0026 84F82851 		strb	r5, [r4, #296]
1635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if ((ep_addr & EP_ADDR_MSK) == 0U)
 1067              		.loc 1 1636 0
 1068 002a 25B1     		cbz	r5, .L87
1637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     (void)USB_EP0StartXfer(hpcd->Instance, ep);
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
1641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     (void)USB_EPStartXfer(hpcd->Instance, ep);
 1069              		.loc 1 1642 0
 1070 002c 0068     		ldr	r0, [r0]
 1071              	.LVL97:
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 49


 1072 002e FFF7FEFF 		bl	USB_EPStartXfer
 1073              	.LVL98:
 1074              	.L85:
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 1075              		.loc 1 1646 0
 1076 0032 0020     		movs	r0, #0
 1077 0034 70BD     		pop	{r4, r5, r6, pc}
 1078              	.LVL99:
 1079              	.L87:
1638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1080              		.loc 1 1638 0
 1081 0036 0068     		ldr	r0, [r0]
 1082              	.LVL100:
 1083 0038 FFF7FEFF 		bl	USB_EPStartXfer
 1084              	.LVL101:
 1085 003c F9E7     		b	.L85
 1086              		.cfi_endproc
 1087              	.LFE88:
 1089              		.section	.text.HAL_PCD_EP_GetRxCount,"ax",%progbits
 1090              		.align	1
 1091              		.global	HAL_PCD_EP_GetRxCount
 1092              		.syntax unified
 1093              		.thumb
 1094              		.thumb_func
 1095              		.fpu softvfp
 1097              	HAL_PCD_EP_GetRxCount:
 1098              	.LFB89:
1647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Get Received Data Size
1650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  ep_addr endpoint address
1652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval Data Size
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** uint32_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
1655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 1099              		.loc 1 1655 0
 1100              		.cfi_startproc
 1101              		@ args = 0, pretend = 0, frame = 0
 1102              		@ frame_needed = 0, uses_anonymous_args = 0
 1103              		@ link register save eliminated.
 1104              	.LVL102:
1656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count;
 1105              		.loc 1 1656 0
 1106 0000 01F00701 		and	r1, r1, #7
 1107              	.LVL103:
 1108 0004 0A31     		adds	r1, r1, #10
 1109 0006 00EB4111 		add	r1, r0, r1, lsl #5
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 1110              		.loc 1 1657 0
 1111 000a 4868     		ldr	r0, [r1, #4]
 1112              	.LVL104:
 1113 000c 7047     		bx	lr
 1114              		.cfi_endproc
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 50


 1115              	.LFE89:
 1117              		.section	.text.HAL_PCD_EP_Transmit,"ax",%progbits
 1118              		.align	1
 1119              		.global	HAL_PCD_EP_Transmit
 1120              		.syntax unified
 1121              		.thumb
 1122              		.thumb_func
 1123              		.fpu softvfp
 1125              	HAL_PCD_EP_Transmit:
 1126              	.LFB90:
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Send an amount of data
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  ep_addr endpoint address
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  pBuf pointer to the transmission buffer
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  len amount of data to be sent
1664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint
1667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 1127              		.loc 1 1667 0
 1128              		.cfi_startproc
 1129              		@ args = 0, pretend = 0, frame = 0
 1130              		@ frame_needed = 0, uses_anonymous_args = 0
 1131              	.LVL105:
 1132 0000 70B5     		push	{r4, r5, r6, lr}
 1133              	.LCFI18:
 1134              		.cfi_def_cfa_offset 16
 1135              		.cfi_offset 4, -16
 1136              		.cfi_offset 5, -12
 1137              		.cfi_offset 6, -8
 1138              		.cfi_offset 14, -4
 1139 0002 01F00705 		and	r5, r1, #7
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   PCD_EPTypeDef *ep;
1669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
 1140              		.loc 1 1670 0
 1141 0006 6C01     		lsls	r4, r5, #5
 1142 0008 04F12801 		add	r1, r4, #40
 1143              	.LVL106:
 1144 000c 0144     		add	r1, r1, r0
 1145              	.LVL107:
1671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /*setup and start the Xfer */
1673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->xfer_buff = pBuf;
 1146              		.loc 1 1673 0
 1147 000e 0444     		add	r4, r4, r0
 1148 0010 E263     		str	r2, [r4, #60]
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->xfer_len = len;
 1149              		.loc 1 1674 0
 1150 0012 AA1C     		adds	r2, r5, #2
 1151              	.LVL108:
 1152 0014 5201     		lsls	r2, r2, #5
 1153 0016 8618     		adds	r6, r0, r2
 1154 0018 8350     		str	r3, [r0, r2]
 1155              	.LVL109:
1675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->xfer_count = 0U;
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 51


 1156              		.loc 1 1675 0
 1157 001a 0023     		movs	r3, #0
 1158              	.LVL110:
 1159 001c 7360     		str	r3, [r6, #4]
1676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->is_in = 1U;
 1160              		.loc 1 1676 0
 1161 001e 0123     		movs	r3, #1
 1162 0020 84F82930 		strb	r3, [r4, #41]
 1163              	.LVL111:
1677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->num = ep_addr & EP_ADDR_MSK;
 1164              		.loc 1 1677 0
 1165 0024 84F82850 		strb	r5, [r4, #40]
1678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if ((ep_addr & EP_ADDR_MSK) == 0U)
 1166              		.loc 1 1679 0
 1167 0028 25B1     		cbz	r5, .L93
1680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     (void)USB_EP0StartXfer(hpcd->Instance, ep);
1682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
1684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     (void)USB_EPStartXfer(hpcd->Instance, ep);
 1168              		.loc 1 1685 0
 1169 002a 0068     		ldr	r0, [r0]
 1170              	.LVL112:
 1171 002c FFF7FEFF 		bl	USB_EPStartXfer
 1172              	.LVL113:
 1173              	.L91:
1686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 1174              		.loc 1 1689 0
 1175 0030 0020     		movs	r0, #0
 1176 0032 70BD     		pop	{r4, r5, r6, pc}
 1177              	.LVL114:
 1178              	.L93:
1681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1179              		.loc 1 1681 0
 1180 0034 0068     		ldr	r0, [r0]
 1181              	.LVL115:
 1182 0036 FFF7FEFF 		bl	USB_EPStartXfer
 1183              	.LVL116:
 1184 003a F9E7     		b	.L91
 1185              		.cfi_endproc
 1186              	.LFE90:
 1188              		.section	.text.PCD_EP_ISR_Handler,"ax",%progbits
 1189              		.align	1
 1190              		.syntax unified
 1191              		.thumb
 1192              		.thumb_func
 1193              		.fpu softvfp
 1195              	PCD_EP_ISR_Handler:
 1196              	.LFB97:
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Set a STALL condition over an endpoint
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 52


1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  ep_addr endpoint address
1695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   PCD_EPTypeDef *ep;
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (((uint32_t)ep_addr & EP_ADDR_MSK) > hpcd->Init.dev_endpoints)
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if ((0x80U & ep_addr) == 0x80U)
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
1709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 1U;
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
1712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep = &hpcd->OUT_ep[ep_addr];
1714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 0U;
1715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->is_stall = 1U;
1718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->num = ep_addr & EP_ADDR_MSK;
1719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
1721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_EPSetStall(hpcd->Instance, ep);
1723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if ((ep_addr & EP_ADDR_MSK) == 0U)
1724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t *)hpcd->Setup);
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
1728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
1731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Clear a STALL condition over in an endpoint
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  ep_addr endpoint address
1736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
1739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   PCD_EPTypeDef *ep;
1741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (((uint32_t)ep_addr & 0x0FU) > hpcd->Init.dev_endpoints)
1743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if ((0x80U & ep_addr) == 0x80U)
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 53


1750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 1U;
1751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
1753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK];
1755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 0U;
1756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->is_stall = 0U;
1759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->num = ep_addr & EP_ADDR_MSK;
1760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
1762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_EPClearStall(hpcd->Instance, ep);
1763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
1764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Flush an endpoint
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  ep_addr endpoint address
1772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Flush(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if ((ep_addr & 0x80U) == 0x80U)
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     (void)USB_FlushTxFifo(hpcd->Instance, (uint32_t)ep_addr & EP_ADDR_MSK);
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
1783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     (void)USB_FlushRxFifo(hpcd->Instance);
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
1788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
1791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Activate remote wakeup signalling
1794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_ActivateRemoteWakeup(PCD_HandleTypeDef *hpcd)
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return (USB_ActivateRemoteWakeup(hpcd->Instance));
1800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
1801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  De-activate remote wakeup signalling.
1804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 54


1807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DeActivateRemoteWakeup(PCD_HandleTypeDef *hpcd)
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
1809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return (USB_DeActivateRemoteWakeup(hpcd->Instance));
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @}
1814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group4 Peripheral State functions
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  *  @brief   Peripheral State functions
1818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  *
1819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** @verbatim
1820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  ===============================================================================
1821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                       ##### Peripheral State functions #####
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****  ===============================================================================
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     [..]
1824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     This subsection permits to get in run-time the status of the peripheral
1825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     and the data flow.
1826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** @endverbatim
1828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @{
1829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Return the PCD handle state.
1833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL state
1835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** PCD_StateTypeDef HAL_PCD_GetState(PCD_HandleTypeDef *hpcd)
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return hpcd->State;
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
1840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @}
1843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @}
1847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /* Private functions ---------------------------------------------------------*/
1850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /** @addtogroup PCD_Private_Functions
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @{
1852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB_OTG_FS)
1854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  Check FIFO for the next packet to be loaded.
1856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  epnum endpoint number
1858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum)
1861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   USB_OTG_GlobalTypeDef *USBx = hpcd->Instance;
1863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 55


1864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   USB_OTG_EPTypeDef *ep;
1865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t len;
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t len32b;
1867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t fifoemptymsk;
1868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep = &hpcd->IN_ep[epnum];
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (ep->xfer_count > ep->xfer_len)
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     return HAL_ERROR;
1874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   len = ep->xfer_len - ep->xfer_count;
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (len > ep->maxpacket)
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     len = ep->maxpacket;
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   len32b = (len + 3U) / 4U;
1884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) &&
1886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****          (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U))
1887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* Write the FIFO */
1889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     len = ep->xfer_len - ep->xfer_count;
1890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (len > ep->maxpacket)
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       len = ep->maxpacket;
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     len32b = (len + 3U) / 4U;
1896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     (void)USB_WritePacket(USBx, ep->xfer_buff, (uint8_t)epnum, (uint16_t)len);
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->xfer_buff  += len;
1900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->xfer_count += len;
1901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (ep->xfer_len <= ep->xfer_count)
1904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK));
1906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk;
1907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
1911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  process EP OUT transfer complete interrupt.
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  epnum endpoint number
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_OutXfrComplete_int(PCD_HandleTypeDef *hpcd, uint32_t epnum)
1920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 56


1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   USB_OTG_GlobalTypeDef *USBx = hpcd->Instance;
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U);
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT;
1925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (gSNPSiD == USB_OTG_CORE_ID_310A)
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* StupPktRcvd = 1 this is a setup packet */
1929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX);
1932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     else
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       if ((DoepintReg & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR)
1936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
1937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR);
1938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
1939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum);
1942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum);
1944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
1946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   else
1948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum);
1951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum);
1953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
1958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  process EP OUT setup packet received interrupt.
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  epnum endpoint number
1964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint32_t epnum)
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
1968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   USB_OTG_GlobalTypeDef *USBx = hpcd->Instance;
1969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U);
1971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT;
1972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if ((gSNPSiD == USB_OTG_CORE_ID_310A) &&
1975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX))
1976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
1977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX);
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 57


1978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* Inform the upper layer that a setup packet is available */
1981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   hpcd->SetupStageCallback(hpcd);
1983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
1984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   HAL_PCD_SetupStageCallback(hpcd);
1985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) */
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
1991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if defined (USB)
1992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** /**
1993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @brief  This function handles PCD Endpoint interrupt request.
1994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @param  hpcd PCD handle
1995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   * @retval HAL status
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   */
1997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_ISR_Handler(PCD_HandleTypeDef *hpcd)
1998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** {
 1197              		.loc 1 1998 0
 1198              		.cfi_startproc
 1199              		@ args = 0, pretend = 0, frame = 0
 1200              		@ frame_needed = 0, uses_anonymous_args = 0
 1201              	.LVL117:
 1202 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 1203              	.LCFI19:
 1204              		.cfi_def_cfa_offset 24
 1205              		.cfi_offset 3, -24
 1206              		.cfi_offset 4, -20
 1207              		.cfi_offset 5, -16
 1208              		.cfi_offset 6, -12
 1209              		.cfi_offset 7, -8
 1210              		.cfi_offset 14, -4
 1211 0002 0446     		mov	r4, r0
 1212              	.LVL118:
 1213              	.L95:
1999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   PCD_EPTypeDef *ep;
2000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint16_t count;
2001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint16_t wIstr;
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint16_t wEPVal;
2003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   uint8_t epindex;
2004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   /* stay in loop while pending interrupts */
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   while ((hpcd->Instance->ISTR & USB_ISTR_CTR) != 0U)
 1214              		.loc 1 2006 0
 1215 0004 2068     		ldr	r0, [r4]
 1216 0006 B0F84430 		ldrh	r3, [r0, #68]
 1217 000a 13F4004F 		tst	r3, #32768
 1218 000e 00F0AD81 		beq	.L116
2007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
2008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     wIstr = hpcd->Instance->ISTR;
 1219              		.loc 1 2008 0
 1220 0012 B0F84430 		ldrh	r3, [r0, #68]
 1221 0016 9BB2     		uxth	r3, r3
 1222              	.LVL119:
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 58


2009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     /* extract highest priority endpoint number */
2010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     epindex = (uint8_t)(wIstr & USB_ISTR_EP_ID);
2011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     if (epindex == 0U)
 1223              		.loc 1 2012 0
 1224 0018 13F00F05 		ands	r5, r3, #15
 1225 001c 40F0CD80 		bne	.L96
2013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* Decode and service control endpoint interrupt */
2015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* DIR bit = origin of the interrupt */
2017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       if ((wIstr & USB_ISTR_DIR) == 0U)
 1226              		.loc 1 2017 0
 1227 0020 13F0100F 		tst	r3, #16
 1228 0024 58D0     		beq	.L117
 1229              	.LVL120:
2018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
2019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* DIR = 0 */
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* DIR = 0      => IN  int */
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* DIR = 0 implies that (EP_CTR_TX = 1) always  */
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         PCD_CLEAR_TX_EP_CTR(hpcd->Instance, PCD_ENDP0);
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep = &hpcd->IN_ep[0];
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num);
2027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep->xfer_buff += ep->xfer_count;
2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* TX COMPLETE */
2030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         hpcd->DataInStageCallback(hpcd, 0U);
2032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
2033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         HAL_PCD_DataInStageCallback(hpcd, 0U);
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         if ((hpcd->USB_Address > 0U) && (ep->xfer_len == 0U))
2037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           hpcd->Instance->DADDR = ((uint16_t)hpcd->USB_Address | USB_DADDR_EF);
2039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           hpcd->USB_Address = 0U;
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
2041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       else
2043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
2044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* DIR = 1 */
2045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* DIR = 1 & CTR_RX       => SETUP or OUT int */
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* DIR = 1 & (CTR_TX | CTR_RX) => 2 int pending */
2048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep = &hpcd->OUT_ep[0];
2049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         wEPVal = PCD_GET_ENDPOINT(hpcd->Instance, PCD_ENDP0);
 1230              		.loc 1 2049 0
 1231 0026 0388     		ldrh	r3, [r0]
 1232              	.LVL121:
 1233 0028 9BB2     		uxth	r3, r3
 1234              	.LVL122:
2050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         if ((wEPVal & USB_EP_SETUP) != 0U)
 1235              		.loc 1 2051 0
 1236 002a 13F4006F 		tst	r3, #2048
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 59


 1237 002e 40F08980 		bne	.L118
2052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
2053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           /* Get SETUP Packet*/
2054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num);
2055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           USB_ReadPMA(hpcd->Instance, (uint8_t *)hpcd->Setup,
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                       ep->pmaadress, (uint16_t)ep->xfer_count);
2058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           /* SETUP bit kept frozen while CTR_RX = 1*/
2060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_CLEAR_RX_EP_CTR(hpcd->Instance, PCD_ENDP0);
2061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           /* Process SETUP Packet*/
2063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
2064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           hpcd->SetupStageCallback(hpcd);
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
2066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           HAL_PCD_SetupStageCallback(hpcd);
2067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
2069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         else if ((wEPVal & USB_EP_CTR_RX) != 0U)
 1238              		.loc 1 2070 0
 1239 0032 13F4004F 		tst	r3, #32768
 1240 0036 E5D0     		beq	.L95
 1241              	.LBB2:
2071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
2072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_CLEAR_RX_EP_CTR(hpcd->Instance, PCD_ENDP0);
 1242              		.loc 1 2072 0
 1243 0038 0388     		ldrh	r3, [r0]
 1244              	.LVL123:
 1245 003a 23F07003 		bic	r3, r3, #112
 1246 003e 1B05     		lsls	r3, r3, #20
 1247 0040 1B0D     		lsrs	r3, r3, #20
 1248              	.LVL124:
 1249 0042 43F08003 		orr	r3, r3, #128
 1250              	.LVL125:
 1251 0046 0380     		strh	r3, [r0]	@ movhi
 1252              	.LBE2:
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           /* Get Control Data OUT Packet*/
2075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num);
 1253              		.loc 1 2075 0
 1254 0048 2068     		ldr	r0, [r4]
 1255 004a B0F85030 		ldrh	r3, [r0, #80]
 1256 004e 94F82821 		ldrb	r2, [r4, #296]	@ zero_extendqisi2
 1257 0052 03EBC203 		add	r3, r3, r2, lsl #3
 1258 0056 0633     		adds	r3, r3, #6
 1259 0058 00EB4303 		add	r3, r0, r3, lsl #1
 1260 005c B3F80034 		ldrh	r3, [r3, #1024]
 1261 0060 C3F30903 		ubfx	r3, r3, #0, #10
 1262 0064 C4F84431 		str	r3, [r4, #324]
2076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((ep->xfer_count != 0U) && (ep->xfer_buff != 0U))
 1263              		.loc 1 2077 0
 1264 0068 8BB1     		cbz	r3, .L100
 1265              		.loc 1 2077 0 is_stmt 0 discriminator 1
 1266 006a D4F83C11 		ldr	r1, [r4, #316]
 1267 006e 71B1     		cbz	r1, .L100
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 60


2078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             USB_ReadPMA(hpcd->Instance, ep->xfer_buff,
 1268              		.loc 1 2079 0 is_stmt 1
 1269 0070 B4F82E21 		ldrh	r2, [r4, #302]
 1270 0074 FFF7FEFF 		bl	USB_ReadPMA
 1271              	.LVL126:
2080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                         ep->pmaadress, (uint16_t)ep->xfer_count);
2081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             ep->xfer_buff += ep->xfer_count;
 1272              		.loc 1 2082 0
 1273 0078 D4F84421 		ldr	r2, [r4, #324]
 1274 007c D4F83C31 		ldr	r3, [r4, #316]
 1275 0080 1344     		add	r3, r3, r2
 1276 0082 C4F83C31 		str	r3, [r4, #316]
2083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             /* Process Control Data OUT Packet*/
2085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
2086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             hpcd->DataOutStageCallback(hpcd, 0U);
2087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
2088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             HAL_PCD_DataOutStageCallback(hpcd, 0U);
 1277              		.loc 1 2088 0
 1278 0086 0021     		movs	r1, #0
 1279 0088 2046     		mov	r0, r4
 1280 008a FFF7FEFF 		bl	HAL_PCD_DataOutStageCallback
 1281              	.LVL127:
 1282              	.L100:
 1283              	.LBB3:
2089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
2090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
2091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_SET_EP_RX_CNT(hpcd->Instance, PCD_ENDP0, ep->maxpacket);
 1284              		.loc 1 2092 0
 1285 008e 2368     		ldr	r3, [r4]
 1286              	.LVL128:
 1287 0090 B3F85020 		ldrh	r2, [r3, #80]
 1288 0094 1344     		add	r3, r3, r2
 1289              	.LVL129:
 1290              	.LBB4:
 1291 0096 D4F83821 		ldr	r2, [r4, #312]
 1292 009a 002A     		cmp	r2, #0
 1293 009c 74D1     		bne	.L101
 1294              		.loc 1 2092 0 is_stmt 0 discriminator 1
 1295 009e B3F80C24 		ldrh	r2, [r3, #1036]
 1296 00a2 92B2     		uxth	r2, r2
 1297 00a4 22F4F842 		bic	r2, r2, #31744
 1298 00a8 92B2     		uxth	r2, r2
 1299 00aa A3F80C24 		strh	r2, [r3, #1036]	@ movhi
 1300 00ae B3F80C24 		ldrh	r2, [r3, #1036]
 1301 00b2 42F40042 		orr	r2, r2, #32768
 1302 00b6 A3F80C24 		strh	r2, [r3, #1036]	@ movhi
 1303              	.L102:
 1304              	.LBE4:
 1305              	.LBE3:
 1306              	.LBB6:
2093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
 1307              		.loc 1 2093 0 is_stmt 1
 1308 00ba 2268     		ldr	r2, [r4]
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 61


 1309 00bc 1388     		ldrh	r3, [r2]
 1310              	.LVL130:
 1311 00be 9BB2     		uxth	r3, r3
 1312 00c0 23F48043 		bic	r3, r3, #16384
 1313 00c4 23F07003 		bic	r3, r3, #112
 1314              	.LVL131:
 1315 00c8 83F44053 		eor	r3, r3, #12288
 1316              	.LVL132:
 1317 00cc 43F40043 		orr	r3, r3, #32768
 1318              	.LVL133:
 1319 00d0 43F08003 		orr	r3, r3, #128
 1320 00d4 1380     		strh	r3, [r2]	@ movhi
 1321 00d6 95E7     		b	.L95
 1322              	.LVL134:
 1323              	.L117:
 1324              	.LBE6:
 1325              	.LBB7:
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep = &hpcd->IN_ep[0];
 1326              		.loc 1 2023 0
 1327 00d8 0388     		ldrh	r3, [r0]
 1328              	.LVL135:
 1329 00da 9BB2     		uxth	r3, r3
 1330 00dc 23F4E143 		bic	r3, r3, #28800
 1331 00e0 23F07003 		bic	r3, r3, #112
 1332              	.LVL136:
 1333 00e4 6FEA4343 		mvn	r3, r3, lsl #17
 1334              	.LVL137:
 1335 00e8 6FEA5343 		mvn	r3, r3, lsr #17
 1336 00ec 9BB2     		uxth	r3, r3
 1337 00ee 0380     		strh	r3, [r0]	@ movhi
 1338              	.LVL138:
 1339              	.LBE7:
2026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep->xfer_buff += ep->xfer_count;
 1340              		.loc 1 2026 0
 1341 00f0 2268     		ldr	r2, [r4]
 1342 00f2 B2F85030 		ldrh	r3, [r2, #80]
 1343 00f6 94F82810 		ldrb	r1, [r4, #40]	@ zero_extendqisi2
 1344 00fa 03EBC103 		add	r3, r3, r1, lsl #3
 1345 00fe 0233     		adds	r3, r3, #2
 1346 0100 02EB4303 		add	r3, r2, r3, lsl #1
 1347 0104 B3F80034 		ldrh	r3, [r3, #1024]
 1348 0108 C3F30903 		ubfx	r3, r3, #0, #10
 1349 010c 6364     		str	r3, [r4, #68]
2027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1350              		.loc 1 2027 0
 1351 010e E26B     		ldr	r2, [r4, #60]
 1352 0110 1344     		add	r3, r3, r2
 1353 0112 E363     		str	r3, [r4, #60]
2033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 1354              		.loc 1 2033 0
 1355 0114 0021     		movs	r1, #0
 1356 0116 2046     		mov	r0, r4
 1357 0118 FFF7FEFF 		bl	HAL_PCD_DataInStageCallback
 1358              	.LVL139:
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
 1359              		.loc 1 2036 0
 1360 011c 94F82430 		ldrb	r3, [r4, #36]	@ zero_extendqisi2
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 62


 1361 0120 002B     		cmp	r3, #0
 1362 0122 3FF46FAF 		beq	.L95
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
 1363              		.loc 1 2036 0 is_stmt 0 discriminator 1
 1364 0126 236C     		ldr	r3, [r4, #64]
 1365 0128 002B     		cmp	r3, #0
 1366 012a 7FF46BAF 		bne	.L95
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           hpcd->USB_Address = 0U;
 1367              		.loc 1 2038 0 is_stmt 1
 1368 012e 94F82430 		ldrb	r3, [r4, #36]	@ zero_extendqisi2
 1369 0132 2268     		ldr	r2, [r4]
 1370 0134 43F08003 		orr	r3, r3, #128
 1371 0138 A2F84C30 		strh	r3, [r2, #76]	@ movhi
2039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
 1372              		.loc 1 2039 0
 1373 013c 0023     		movs	r3, #0
 1374 013e 84F82430 		strb	r3, [r4, #36]
 1375 0142 5FE7     		b	.L95
 1376              	.LVL140:
 1377              	.L118:
2054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1378              		.loc 1 2054 0
 1379 0144 B0F85030 		ldrh	r3, [r0, #80]
 1380              	.LVL141:
 1381 0148 94F82821 		ldrb	r2, [r4, #296]	@ zero_extendqisi2
 1382 014c 03EBC203 		add	r3, r3, r2, lsl #3
 1383 0150 0633     		adds	r3, r3, #6
 1384 0152 00EB4303 		add	r3, r0, r3, lsl #1
 1385 0156 B3F80034 		ldrh	r3, [r3, #1024]
 1386 015a C3F30903 		ubfx	r3, r3, #0, #10
 1387 015e C4F84431 		str	r3, [r4, #324]
2056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****                       ep->pmaadress, (uint16_t)ep->xfer_count);
 1388              		.loc 1 2056 0
 1389 0162 B4F82E21 		ldrh	r2, [r4, #302]
 1390 0166 04F50C71 		add	r1, r4, #560
 1391 016a FFF7FEFF 		bl	USB_ReadPMA
 1392              	.LVL142:
 1393              	.LBB8:
2060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1394              		.loc 1 2060 0
 1395 016e 2268     		ldr	r2, [r4]
 1396 0170 1388     		ldrh	r3, [r2]
 1397 0172 23F07003 		bic	r3, r3, #112
 1398 0176 1B05     		lsls	r3, r3, #20
 1399 0178 1B0D     		lsrs	r3, r3, #20
 1400              	.LVL143:
 1401 017a 43F08003 		orr	r3, r3, #128
 1402              	.LVL144:
 1403 017e 1380     		strh	r3, [r2]	@ movhi
 1404              	.LBE8:
2066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 1405              		.loc 1 2066 0
 1406 0180 2046     		mov	r0, r4
 1407 0182 FFF7FEFF 		bl	HAL_PCD_SetupStageCallback
 1408              	.LVL145:
 1409 0186 3DE7     		b	.L95
 1410              	.LVL146:
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 63


 1411              	.L101:
 1412              	.LBB9:
 1413              	.LBB5:
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
 1414              		.loc 1 2092 0 discriminator 2
 1415 0188 3E2A     		cmp	r2, #62
 1416 018a 09D8     		bhi	.L103
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
 1417              		.loc 1 2092 0 is_stmt 0 discriminator 3
 1418 018c 5108     		lsrs	r1, r2, #1
 1419              	.LVL147:
 1420 018e 12F0010F 		tst	r2, #1
 1421 0192 00D0     		beq	.L104
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
 1422              		.loc 1 2092 0 discriminator 5
 1423 0194 0131     		adds	r1, r1, #1
 1424              	.LVL148:
 1425              	.L104:
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
 1426              		.loc 1 2092 0 discriminator 7
 1427 0196 8902     		lsls	r1, r1, #10
 1428              	.LVL149:
 1429 0198 89B2     		uxth	r1, r1
 1430 019a A3F80C14 		strh	r1, [r3, #1036]	@ movhi
 1431 019e 8CE7     		b	.L102
 1432              	.L103:
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
 1433              		.loc 1 2092 0 discriminator 4
 1434 01a0 5109     		lsrs	r1, r2, #5
 1435              	.LVL150:
 1436 01a2 12F01F0F 		tst	r2, #31
 1437 01a6 00D1     		bne	.L105
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
 1438              		.loc 1 2092 0 discriminator 8
 1439 01a8 0139     		subs	r1, r1, #1
 1440              	.LVL151:
 1441              	.L105:
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
 1442              		.loc 1 2092 0 discriminator 10
 1443 01aa 6FEAC162 		mvn	r2, r1, lsl #27
 1444 01ae 6FEA5242 		mvn	r2, r2, lsr #17
 1445 01b2 92B2     		uxth	r2, r2
 1446 01b4 A3F80C24 		strh	r2, [r3, #1036]	@ movhi
 1447 01b8 7FE7     		b	.L102
 1448              	.LVL152:
 1449              	.L96:
 1450              	.LBE5:
 1451              	.LBE9:
2094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
2095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
2096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
2097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     else
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
2099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* Decode and service non control endpoints interrupt  */
2100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       /* process related endpoint register */
2102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       wEPVal = PCD_GET_ENDPOINT(hpcd->Instance, epindex);
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 64


 1452              		.loc 1 2102 0 is_stmt 1
 1453 01ba 30F82560 		ldrh	r6, [r0, r5, lsl #2]
 1454 01be B6B2     		uxth	r6, r6
 1455              	.LVL153:
2103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       if ((wEPVal & USB_EP_CTR_RX) != 0U)
 1456              		.loc 1 2103 0
 1457 01c0 16F4004F 		tst	r6, #32768
 1458 01c4 33D1     		bne	.L119
 1459              	.LVL154:
 1460              	.L106:
2104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
2105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* clear int flag */
2106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         PCD_CLEAR_RX_EP_CTR(hpcd->Instance, epindex);
2107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep = &hpcd->OUT_ep[epindex];
2108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* OUT double Buffering*/
2110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         if (ep->doublebuffer == 0U)
2111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
2112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           count = (uint16_t)PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num);
2113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if (count != 0U)
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
2115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaadress, count);
2116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
2117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         else
2119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
2120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if ((PCD_GET_ENDPOINT(hpcd->Instance, ep->num) & USB_EP_DTOG_RX) != 0U)
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
2122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             /*read from endpoint BUF0Addr buffer*/
2123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             count = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num);
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             if (count != 0U)
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             {
2126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****               USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count);
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             }
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
2129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           else
2130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
2131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             /*read from endpoint BUF1Addr buffer*/
2132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             count = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num);
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             if (count != 0U)
2134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             {
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****               USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count);
2136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             }
2137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
2138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           /* free EP OUT Buffer */
2139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           PCD_FreeUserBuffer(hpcd->Instance, ep->num, 0U);
2140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /*multi-packet on the NON control OUT endpoint*/
2142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep->xfer_count += count;
2143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep->xfer_buff += count;
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         if ((ep->xfer_len == 0U) || (count < ep->maxpacket))
2146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
2147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           /* RX COMPLETE */
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
2149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           hpcd->DataOutStageCallback(hpcd, ep->num);
2150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 65


2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           HAL_PCD_DataOutStageCallback(hpcd, ep->num);
2152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
2153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         else
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
2156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           (void)HAL_PCD_EP_Receive(hpcd, ep->num, ep->xfer_buff, ep->xfer_len);
2157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       } /* if((wEPVal & EP_CTR_RX) */
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       if ((wEPVal & USB_EP_CTR_TX) != 0U)
 1461              		.loc 1 2161 0
 1462 01c6 16F0800F 		tst	r6, #128
 1463 01ca 3FF41BAF 		beq	.L95
 1464              	.LVL155:
 1465              	.LBB10:
2162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       {
2163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep = &hpcd->IN_ep[epindex];
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* clear int flag */
2166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         PCD_CLEAR_TX_EP_CTR(hpcd->Instance, epindex);
 1466              		.loc 1 2166 0
 1467 01ce 2268     		ldr	r2, [r4]
 1468 01d0 32F82530 		ldrh	r3, [r2, r5, lsl #2]
 1469 01d4 9BB2     		uxth	r3, r3
 1470 01d6 23F4E143 		bic	r3, r3, #28800
 1471 01da 23F07003 		bic	r3, r3, #112
 1472              	.LVL156:
 1473 01de 6FEA4343 		mvn	r3, r3, lsl #17
 1474              	.LVL157:
 1475 01e2 6FEA5343 		mvn	r3, r3, lsr #17
 1476 01e6 9BB2     		uxth	r3, r3
 1477 01e8 22F82530 		strh	r3, [r2, r5, lsl #2]	@ movhi
 1478              	.LBE10:
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
2168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /*multi-packet on the NON control IN endpoint*/
2169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num);
 1479              		.loc 1 2169 0
 1480 01ec 2268     		ldr	r2, [r4]
 1481 01ee B2F85030 		ldrh	r3, [r2, #80]
 1482 01f2 04EB4510 		add	r0, r4, r5, lsl #5
 1483 01f6 90F82810 		ldrb	r1, [r0, #40]	@ zero_extendqisi2
 1484 01fa 03EBC103 		add	r3, r3, r1, lsl #3
 1485 01fe 0233     		adds	r3, r3, #2
 1486 0200 02EB4303 		add	r3, r2, r3, lsl #1
 1487 0204 B3F80024 		ldrh	r2, [r3, #1024]
 1488 0208 C2F30902 		ubfx	r2, r2, #0, #10
 1489 020c AB1C     		adds	r3, r5, #2
 1490 020e 5B01     		lsls	r3, r3, #5
 1491 0210 E118     		adds	r1, r4, r3
 1492 0212 4A60     		str	r2, [r1, #4]
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep->xfer_buff += ep->xfer_count;
 1493              		.loc 1 2170 0
 1494 0214 C16B     		ldr	r1, [r0, #60]
 1495 0216 0A44     		add	r2, r2, r1
 1496 0218 C263     		str	r2, [r0, #60]
2171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 66


2172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         /* Zero Length Packet? */
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         if (ep->xfer_len == 0U)
 1497              		.loc 1 2173 0
 1498 021a E358     		ldr	r3, [r4, r3]
 1499 021c 002B     		cmp	r3, #0
 1500 021e 40F09D80 		bne	.L113
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
2175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           /* TX COMPLETE */
2176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           hpcd->DataInStageCallback(hpcd, ep->num);
2178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #else
2179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           HAL_PCD_DataInStageCallback(hpcd, ep->num);
 1501              		.loc 1 2179 0
 1502 0222 90F82810 		ldrb	r1, [r0, #40]	@ zero_extendqisi2
 1503 0226 2046     		mov	r0, r4
 1504 0228 FFF7FEFF 		bl	HAL_PCD_DataInStageCallback
 1505              	.LVL158:
 1506 022c EAE6     		b	.L95
 1507              	.LVL159:
 1508              	.L119:
 1509              	.LBB11:
2106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep = &hpcd->OUT_ep[epindex];
 1510              		.loc 1 2106 0
 1511 022e 30F82530 		ldrh	r3, [r0, r5, lsl #2]
 1512              	.LVL160:
 1513 0232 23F07003 		bic	r3, r3, #112
 1514 0236 1B05     		lsls	r3, r3, #20
 1515 0238 1B0D     		lsrs	r3, r3, #20
 1516              	.LVL161:
 1517 023a 43F08003 		orr	r3, r3, #128
 1518              	.LVL162:
 1519 023e 20F82530 		strh	r3, [r0, r5, lsl #2]	@ movhi
 1520              	.LVL163:
 1521              	.LBE11:
2110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
 1522              		.loc 1 2110 0
 1523 0242 04EB4513 		add	r3, r4, r5, lsl #5
 1524 0246 93F83431 		ldrb	r3, [r3, #308]	@ zero_extendqisi2
 1525 024a D3B9     		cbnz	r3, .L107
2112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           if (count != 0U)
 1526              		.loc 1 2112 0
 1527 024c 2068     		ldr	r0, [r4]
 1528 024e B0F85030 		ldrh	r3, [r0, #80]
 1529 0252 04EB4512 		add	r2, r4, r5, lsl #5
 1530 0256 92F82821 		ldrb	r2, [r2, #296]	@ zero_extendqisi2
 1531 025a 03EBC203 		add	r3, r3, r2, lsl #3
 1532 025e 0633     		adds	r3, r3, #6
 1533 0260 00EB4303 		add	r3, r0, r3, lsl #1
 1534 0264 B3F80074 		ldrh	r7, [r3, #1024]
 1535 0268 C7F30907 		ubfx	r7, r7, #0, #10
 1536              	.LVL164:
2113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 1537              		.loc 1 2113 0
 1538 026c 8FB3     		cbz	r7, .L108
2115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           }
 1539              		.loc 1 2115 0
 1540 026e 04EB4511 		add	r1, r4, r5, lsl #5
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 67


 1541 0272 3B46     		mov	r3, r7
 1542 0274 B1F82E21 		ldrh	r2, [r1, #302]
 1543 0278 D1F83C11 		ldr	r1, [r1, #316]
 1544 027c FFF7FEFF 		bl	USB_ReadPMA
 1545              	.LVL165:
 1546 0280 27E0     		b	.L108
 1547              	.LVL166:
 1548              	.L107:
2120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           {
 1549              		.loc 1 2120 0
 1550 0282 2068     		ldr	r0, [r4]
 1551 0284 04EB4513 		add	r3, r4, r5, lsl #5
 1552 0288 93F82821 		ldrb	r2, [r3, #296]	@ zero_extendqisi2
 1553 028c 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1554 0290 13F4804F 		tst	r3, #16384
 1555 0294 43D0     		beq	.L109
2123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             if (count != 0U)
 1556              		.loc 1 2123 0
 1557 0296 B0F85030 		ldrh	r3, [r0, #80]
 1558 029a 03EBC203 		add	r3, r3, r2, lsl #3
 1559 029e 0233     		adds	r3, r3, #2
 1560 02a0 00EB4303 		add	r3, r0, r3, lsl #1
 1561 02a4 B3F80074 		ldrh	r7, [r3, #1024]
 1562 02a8 C7F30907 		ubfx	r7, r7, #0, #10
 1563              	.LVL167:
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             {
 1564              		.loc 1 2124 0
 1565 02ac 6FBB     		cbnz	r7, .L120
 1566              	.L110:
 1567              	.LBB12:
2139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
 1568              		.loc 1 2139 0 discriminator 1
 1569 02ae 2268     		ldr	r2, [r4]
 1570 02b0 04EB4513 		add	r3, r4, r5, lsl #5
 1571 02b4 93F82811 		ldrb	r1, [r3, #296]	@ zero_extendqisi2
 1572 02b8 32F82130 		ldrh	r3, [r2, r1, lsl #2]
 1573 02bc 9BB2     		uxth	r3, r3
 1574 02be 23F4E043 		bic	r3, r3, #28672
 1575 02c2 23F07003 		bic	r3, r3, #112
 1576              	.LVL168:
 1577 02c6 43F40043 		orr	r3, r3, #32768
 1578              	.LVL169:
 1579 02ca 43F0C003 		orr	r3, r3, #192
 1580 02ce 22F82130 		strh	r3, [r2, r1, lsl #2]	@ movhi
 1581              	.L108:
 1582              	.LBE12:
2142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         ep->xfer_buff += count;
 1583              		.loc 1 2142 0
 1584 02d2 05F10A03 		add	r3, r5, #10
 1585 02d6 5B01     		lsls	r3, r3, #5
 1586 02d8 E118     		adds	r1, r4, r3
 1587 02da 4A68     		ldr	r2, [r1, #4]
 1588 02dc 3A44     		add	r2, r2, r7
 1589 02de 4A60     		str	r2, [r1, #4]
2143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1590              		.loc 1 2143 0
 1591 02e0 04EB4511 		add	r1, r4, r5, lsl #5
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 68


 1592 02e4 D1F83C21 		ldr	r2, [r1, #316]
 1593 02e8 3A44     		add	r2, r2, r7
 1594 02ea C1F83C21 		str	r2, [r1, #316]
2145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
 1595              		.loc 1 2145 0
 1596 02ee E358     		ldr	r3, [r4, r3]
 1597 02f0 1BB1     		cbz	r3, .L111
2145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
 1598              		.loc 1 2145 0 is_stmt 0 discriminator 1
 1599 02f2 D1F83811 		ldr	r1, [r1, #312]
 1600 02f6 8F42     		cmp	r7, r1
 1601 02f8 28D2     		bcs	.L112
 1602              	.L111:
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 1603              		.loc 1 2151 0 is_stmt 1
 1604 02fa 04EB4513 		add	r3, r4, r5, lsl #5
 1605 02fe 93F82811 		ldrb	r1, [r3, #296]	@ zero_extendqisi2
 1606 0302 2046     		mov	r0, r4
 1607 0304 FFF7FEFF 		bl	HAL_PCD_DataOutStageCallback
 1608              	.LVL170:
 1609 0308 5DE7     		b	.L106
 1610              	.L120:
2126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             }
 1611              		.loc 1 2126 0
 1612 030a 04EB4511 		add	r1, r4, r5, lsl #5
 1613 030e 3B46     		mov	r3, r7
 1614 0310 B1F83021 		ldrh	r2, [r1, #304]
 1615 0314 D1F83C11 		ldr	r1, [r1, #316]
 1616 0318 FFF7FEFF 		bl	USB_ReadPMA
 1617              	.LVL171:
 1618 031c C7E7     		b	.L110
 1619              	.LVL172:
 1620              	.L109:
2132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             if (count != 0U)
 1621              		.loc 1 2132 0
 1622 031e B0F85030 		ldrh	r3, [r0, #80]
 1623 0322 03EBC203 		add	r3, r3, r2, lsl #3
 1624 0326 0633     		adds	r3, r3, #6
 1625 0328 00EB4303 		add	r3, r0, r3, lsl #1
 1626 032c B3F80074 		ldrh	r7, [r3, #1024]
 1627 0330 C7F30907 		ubfx	r7, r7, #0, #10
 1628              	.LVL173:
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             {
 1629              		.loc 1 2133 0
 1630 0334 002F     		cmp	r7, #0
 1631 0336 BAD0     		beq	.L110
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****             }
 1632              		.loc 1 2135 0
 1633 0338 04EB4511 		add	r1, r4, r5, lsl #5
 1634 033c 3B46     		mov	r3, r7
 1635 033e B1F83221 		ldrh	r2, [r1, #306]
 1636 0342 D1F83C11 		ldr	r1, [r1, #316]
 1637 0346 FFF7FEFF 		bl	USB_ReadPMA
 1638              	.LVL174:
 1639 034a B0E7     		b	.L110
 1640              	.L112:
2156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 69


 1641              		.loc 1 2156 0
 1642 034c 04EB4511 		add	r1, r4, r5, lsl #5
 1643 0350 91F82811 		ldrb	r1, [r1, #296]	@ zero_extendqisi2
 1644 0354 2046     		mov	r0, r4
 1645 0356 FFF7FEFF 		bl	HAL_PCD_EP_Receive
 1646              	.LVL175:
 1647 035a 34E7     		b	.L106
 1648              	.LVL176:
 1649              	.L113:
2180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
2182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         else
2183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         {
2184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****           (void)HAL_PCD_EP_Transmit(hpcd, ep->num, ep->xfer_buff, ep->xfer_len);
 1650              		.loc 1 2184 0
 1651 035c 04EB4515 		add	r5, r4, r5, lsl #5
 1652              	.LVL177:
 1653 0360 95F82810 		ldrb	r1, [r5, #40]	@ zero_extendqisi2
 1654 0364 2046     		mov	r0, r4
 1655 0366 FFF7FEFF 		bl	HAL_PCD_EP_Transmit
 1656              	.LVL178:
 1657 036a 4BE6     		b	.L95
 1658              	.LVL179:
 1659              	.L116:
2185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****         }
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****       }
2187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
2188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
2189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return HAL_OK;
2190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 1660              		.loc 1 2190 0
 1661 036c 0020     		movs	r0, #0
 1662 036e F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 1663              		.cfi_endproc
 1664              	.LFE97:
 1666              		.section	.text.HAL_PCD_IRQHandler,"ax",%progbits
 1667              		.align	1
 1668              		.global	HAL_PCD_IRQHandler
 1669              		.syntax unified
 1670              		.thumb
 1671              		.thumb_func
 1672              		.fpu softvfp
 1674              	HAL_PCD_IRQHandler:
 1675              	.LFB71:
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_CTR))
 1676              		.loc 1 1216 0
 1677              		.cfi_startproc
 1678              		@ args = 0, pretend = 0, frame = 0
 1679              		@ frame_needed = 0, uses_anonymous_args = 0
 1680              	.LVL180:
 1681 0000 10B5     		push	{r4, lr}
 1682              	.LCFI20:
 1683              		.cfi_def_cfa_offset 8
 1684              		.cfi_offset 4, -8
 1685              		.cfi_offset 14, -4
 1686 0002 0446     		mov	r4, r0
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 70


 1687              		.loc 1 1217 0
 1688 0004 0068     		ldr	r0, [r0]
 1689              	.LVL181:
 1690 0006 FFF7FEFF 		bl	USB_ReadInterrupts
 1691              	.LVL182:
 1692 000a 10F4004F 		tst	r0, #32768
 1693 000e 45D1     		bne	.L132
 1694              	.L122:
1224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 1695              		.loc 1 1224 0
 1696 0010 2068     		ldr	r0, [r4]
 1697 0012 FFF7FEFF 		bl	USB_ReadInterrupts
 1698              	.LVL183:
 1699 0016 10F4806F 		tst	r0, #1024
 1700 001a 43D1     		bne	.L133
 1701              	.L123:
1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 1702              		.loc 1 1237 0
 1703 001c 2068     		ldr	r0, [r4]
 1704 001e FFF7FEFF 		bl	USB_ReadInterrupts
 1705              	.LVL184:
 1706 0022 10F4804F 		tst	r0, #16384
 1707 0026 08D0     		beq	.L124
1239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1708              		.loc 1 1239 0
 1709 0028 2268     		ldr	r2, [r4]
 1710 002a B2F84430 		ldrh	r3, [r2, #68]
 1711 002e 9BB2     		uxth	r3, r3
 1712 0030 23F48043 		bic	r3, r3, #16384
 1713 0034 9BB2     		uxth	r3, r3
 1714 0036 A2F84430 		strh	r3, [r2, #68]	@ movhi
 1715              	.L124:
1242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 1716              		.loc 1 1242 0
 1717 003a 2068     		ldr	r0, [r4]
 1718 003c FFF7FEFF 		bl	USB_ReadInterrupts
 1719              	.LVL185:
 1720 0040 10F4005F 		tst	r0, #8192
 1721 0044 08D0     		beq	.L125
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1722              		.loc 1 1244 0
 1723 0046 2268     		ldr	r2, [r4]
 1724 0048 B2F84430 		ldrh	r3, [r2, #68]
 1725 004c 9BB2     		uxth	r3, r3
 1726 004e 23F40053 		bic	r3, r3, #8192
 1727 0052 9BB2     		uxth	r3, r3
 1728 0054 A2F84430 		strh	r3, [r2, #68]	@ movhi
 1729              	.L125:
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 1730              		.loc 1 1247 0
 1731 0058 2068     		ldr	r0, [r4]
 1732 005a FFF7FEFF 		bl	USB_ReadInterrupts
 1733              	.LVL186:
 1734 005e 10F4805F 		tst	r0, #4096
 1735 0062 30D1     		bne	.L134
 1736              	.L126:
1261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 71


 1737              		.loc 1 1261 0
 1738 0064 2068     		ldr	r0, [r4]
 1739 0066 FFF7FEFF 		bl	USB_ReadInterrupts
 1740              	.LVL187:
 1741 006a 10F4006F 		tst	r0, #2048
 1742 006e 49D1     		bne	.L135
 1743              	.L127:
1284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 1744              		.loc 1 1284 0
 1745 0070 2068     		ldr	r0, [r4]
 1746 0072 FFF7FEFF 		bl	USB_ReadInterrupts
 1747              	.LVL188:
 1748 0076 10F4007F 		tst	r0, #512
 1749 007a 6DD1     		bne	.L136
 1750              	.L129:
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 1751              		.loc 1 1295 0
 1752 007c 2068     		ldr	r0, [r4]
 1753 007e FFF7FEFF 		bl	USB_ReadInterrupts
 1754              	.LVL189:
 1755 0082 10F4807F 		tst	r0, #256
 1756 0086 08D0     		beq	.L121
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1757              		.loc 1 1298 0
 1758 0088 2268     		ldr	r2, [r4]
 1759 008a B2F84430 		ldrh	r3, [r2, #68]
 1760 008e 9BB2     		uxth	r3, r3
 1761 0090 23F48073 		bic	r3, r3, #256
 1762 0094 9BB2     		uxth	r3, r3
 1763 0096 A2F84430 		strh	r3, [r2, #68]	@ movhi
 1764              	.L121:
1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* defined (USB) */
 1765              		.loc 1 1300 0
 1766 009a 10BD     		pop	{r4, pc}
 1767              	.LVL190:
 1768              	.L132:
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1769              		.loc 1 1221 0
 1770 009c 2046     		mov	r0, r4
 1771 009e FFF7FEFF 		bl	PCD_EP_ISR_Handler
 1772              	.LVL191:
 1773 00a2 B5E7     		b	.L122
 1774              	.L133:
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1775              		.loc 1 1226 0
 1776 00a4 2268     		ldr	r2, [r4]
 1777 00a6 B2F84430 		ldrh	r3, [r2, #68]
 1778 00aa 9BB2     		uxth	r3, r3
 1779 00ac 23F48063 		bic	r3, r3, #1024
 1780 00b0 9BB2     		uxth	r3, r3
 1781 00b2 A2F84430 		strh	r3, [r2, #68]	@ movhi
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 1782              		.loc 1 1231 0
 1783 00b6 2046     		mov	r0, r4
 1784 00b8 FFF7FEFF 		bl	HAL_PCD_ResetCallback
 1785              	.LVL192:
1234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 72


 1786              		.loc 1 1234 0
 1787 00bc 0021     		movs	r1, #0
 1788 00be 2046     		mov	r0, r4
 1789 00c0 FFF7FEFF 		bl	HAL_PCD_SetAddress
 1790              	.LVL193:
 1791 00c4 AAE7     		b	.L123
 1792              	.L134:
1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_FSUSP);
 1793              		.loc 1 1249 0
 1794 00c6 2268     		ldr	r2, [r4]
 1795 00c8 B2F84030 		ldrh	r3, [r2, #64]
 1796 00cc 9BB2     		uxth	r3, r3
 1797 00ce 23F00403 		bic	r3, r3, #4
 1798 00d2 9BB2     		uxth	r3, r3
 1799 00d4 A2F84030 		strh	r3, [r2, #64]	@ movhi
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1800              		.loc 1 1250 0
 1801 00d8 2268     		ldr	r2, [r4]
 1802 00da B2F84030 		ldrh	r3, [r2, #64]
 1803 00de 9BB2     		uxth	r3, r3
 1804 00e0 23F00803 		bic	r3, r3, #8
 1805 00e4 9BB2     		uxth	r3, r3
 1806 00e6 A2F84030 		strh	r3, [r2, #64]	@ movhi
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 1807              		.loc 1 1255 0
 1808 00ea 2046     		mov	r0, r4
 1809 00ec FFF7FEFF 		bl	HAL_PCD_ResumeCallback
 1810              	.LVL194:
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1811              		.loc 1 1258 0
 1812 00f0 2268     		ldr	r2, [r4]
 1813 00f2 B2F84430 		ldrh	r3, [r2, #68]
 1814 00f6 9BB2     		uxth	r3, r3
 1815 00f8 23F48053 		bic	r3, r3, #4096
 1816 00fc 9BB2     		uxth	r3, r3
 1817 00fe A2F84430 		strh	r3, [r2, #68]	@ movhi
 1818 0102 AFE7     		b	.L126
 1819              	.L135:
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1820              		.loc 1 1264 0
 1821 0104 2268     		ldr	r2, [r4]
 1822 0106 B2F84030 		ldrh	r3, [r2, #64]
 1823 010a 43F00803 		orr	r3, r3, #8
 1824 010e A2F84030 		strh	r3, [r2, #64]	@ movhi
1267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1825              		.loc 1 1267 0
 1826 0112 2268     		ldr	r2, [r4]
 1827 0114 B2F84430 		ldrh	r3, [r2, #68]
 1828 0118 9BB2     		uxth	r3, r3
 1829 011a 23F40063 		bic	r3, r3, #2048
 1830 011e 9BB2     		uxth	r3, r3
 1831 0120 A2F84430 		strh	r3, [r2, #68]	@ movhi
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1832              		.loc 1 1269 0
 1833 0124 2268     		ldr	r2, [r4]
 1834 0126 B2F84030 		ldrh	r3, [r2, #64]
 1835 012a 43F00403 		orr	r3, r3, #4
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 73


 1836 012e A2F84030 		strh	r3, [r2, #64]	@ movhi
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     {
 1837              		.loc 1 1272 0
 1838 0132 2068     		ldr	r0, [r4]
 1839 0134 FFF7FEFF 		bl	USB_ReadInterrupts
 1840              	.LVL195:
 1841 0138 10F4805F 		tst	r0, #4096
 1842 013c 08D0     		beq	.L128
1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     }
 1843              		.loc 1 1274 0
 1844 013e 2268     		ldr	r2, [r4]
 1845 0140 B2F84430 		ldrh	r3, [r2, #68]
 1846 0144 9BB2     		uxth	r3, r3
 1847 0146 23F48053 		bic	r3, r3, #4096
 1848 014a 9BB2     		uxth	r3, r3
 1849 014c A2F84430 		strh	r3, [r2, #68]	@ movhi
 1850              	.L128:
1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 1851              		.loc 1 1280 0
 1852 0150 2046     		mov	r0, r4
 1853 0152 FFF7FEFF 		bl	HAL_PCD_SuspendCallback
 1854              	.LVL196:
 1855 0156 8BE7     		b	.L127
 1856              	.L136:
1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1857              		.loc 1 1286 0
 1858 0158 2268     		ldr	r2, [r4]
 1859 015a B2F84430 		ldrh	r3, [r2, #68]
 1860 015e 9BB2     		uxth	r3, r3
 1861 0160 23F40073 		bic	r3, r3, #512
 1862 0164 9BB2     		uxth	r3, r3
 1863 0166 A2F84430 		strh	r3, [r2, #68]	@ movhi
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 1864              		.loc 1 1291 0
 1865 016a 2046     		mov	r0, r4
 1866 016c FFF7FEFF 		bl	HAL_PCD_SOFCallback
 1867              	.LVL197:
 1868 0170 84E7     		b	.L129
 1869              		.cfi_endproc
 1870              	.LFE71:
 1872              		.section	.text.HAL_PCD_EP_SetStall,"ax",%progbits
 1873              		.align	1
 1874              		.global	HAL_PCD_EP_SetStall
 1875              		.syntax unified
 1876              		.thumb
 1877              		.thumb_func
 1878              		.fpu softvfp
 1880              	HAL_PCD_EP_SetStall:
 1881              	.LFB91:
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   PCD_EPTypeDef *ep;
 1882              		.loc 1 1698 0
 1883              		.cfi_startproc
 1884              		@ args = 0, pretend = 0, frame = 0
 1885              		@ frame_needed = 0, uses_anonymous_args = 0
 1886              	.LVL198:
 1887 0000 38B5     		push	{r3, r4, r5, lr}
 1888              	.LCFI21:
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 74


 1889              		.cfi_def_cfa_offset 16
 1890              		.cfi_offset 3, -16
 1891              		.cfi_offset 4, -12
 1892              		.cfi_offset 5, -8
 1893              		.cfi_offset 14, -4
 1894 0002 01F00705 		and	r5, r1, #7
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 1895              		.loc 1 1701 0
 1896 0006 4368     		ldr	r3, [r0, #4]
 1897 0008 9D42     		cmp	r5, r3
 1898 000a 2CD8     		bhi	.L142
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 1899              		.loc 1 1706 0
 1900 000c 11F0800F 		tst	r1, #128
 1901 0010 1AD1     		bne	.L145
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 0U;
 1902              		.loc 1 1713 0
 1903 0012 4B01     		lsls	r3, r1, #5
 1904 0014 03F59471 		add	r1, r3, #296
 1905              	.LVL199:
 1906 0018 0144     		add	r1, r1, r0
 1907              	.LVL200:
1714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1908              		.loc 1 1714 0
 1909 001a 0344     		add	r3, r3, r0
 1910 001c 0022     		movs	r2, #0
 1911 001e 83F82921 		strb	r2, [r3, #297]
 1912              	.L140:
1717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->num = ep_addr & EP_ADDR_MSK;
 1913              		.loc 1 1717 0
 1914 0022 0123     		movs	r3, #1
 1915 0024 8B70     		strb	r3, [r1, #2]
1718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1916              		.loc 1 1718 0
 1917 0026 0D70     		strb	r5, [r1]
1720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1918              		.loc 1 1720 0
 1919 0028 90F82832 		ldrb	r3, [r0, #552]	@ zero_extendqisi2
 1920 002c 012B     		cmp	r3, #1
 1921 002e 1CD0     		beq	.L143
 1922 0030 0446     		mov	r4, r0
1720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1923              		.loc 1 1720 0 is_stmt 0 discriminator 2
 1924 0032 0123     		movs	r3, #1
 1925 0034 80F82832 		strb	r3, [r0, #552]
1722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   if ((ep_addr & EP_ADDR_MSK) == 0U)
 1926              		.loc 1 1722 0 is_stmt 1 discriminator 2
 1927 0038 0068     		ldr	r0, [r0]
 1928              	.LVL201:
 1929 003a FFF7FEFF 		bl	USB_EPSetStall
 1930              	.LVL202:
1723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 1931              		.loc 1 1723 0 discriminator 2
 1932 003e 65B1     		cbz	r5, .L146
 1933              	.L141:
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1934              		.loc 1 1727 0
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 75


 1935 0040 0020     		movs	r0, #0
 1936 0042 84F82802 		strb	r0, [r4, #552]
1729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 1937              		.loc 1 1729 0
 1938 0046 0FE0     		b	.L138
 1939              	.LVL203:
 1940              	.L145:
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 1U;
 1941              		.loc 1 1708 0
 1942 0048 6B01     		lsls	r3, r5, #5
 1943 004a 03F12801 		add	r1, r3, #40
 1944              	.LVL204:
 1945 004e 0144     		add	r1, r1, r0
 1946              	.LVL205:
1709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1947              		.loc 1 1709 0
 1948 0050 0344     		add	r3, r3, r0
 1949 0052 0122     		movs	r2, #1
 1950 0054 83F82920 		strb	r2, [r3, #41]
 1951 0058 E3E7     		b	.L140
 1952              	.LVL206:
 1953              	.L146:
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1954              		.loc 1 1725 0
 1955 005a 04F50C71 		add	r1, r4, #560
 1956 005e 2068     		ldr	r0, [r4]
 1957 0060 FFF7FEFF 		bl	USB_EP0_OutStart
 1958              	.LVL207:
 1959 0064 ECE7     		b	.L141
 1960              	.LVL208:
 1961              	.L142:
1703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 1962              		.loc 1 1703 0
 1963 0066 0120     		movs	r0, #1
 1964              	.LVL209:
 1965              	.L138:
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1966              		.loc 1 1730 0
 1967 0068 38BD     		pop	{r3, r4, r5, pc}
 1968              	.LVL210:
 1969              	.L143:
1720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 1970              		.loc 1 1720 0
 1971 006a 0220     		movs	r0, #2
 1972              	.LVL211:
 1973 006c FCE7     		b	.L138
 1974              		.cfi_endproc
 1975              	.LFE91:
 1977              		.section	.text.HAL_PCD_EP_ClrStall,"ax",%progbits
 1978              		.align	1
 1979              		.global	HAL_PCD_EP_ClrStall
 1980              		.syntax unified
 1981              		.thumb
 1982              		.thumb_func
 1983              		.fpu softvfp
 1985              	HAL_PCD_EP_ClrStall:
 1986              	.LFB92:
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 76


1739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   PCD_EPTypeDef *ep;
 1987              		.loc 1 1739 0
 1988              		.cfi_startproc
 1989              		@ args = 0, pretend = 0, frame = 0
 1990              		@ frame_needed = 0, uses_anonymous_args = 0
 1991              	.LVL212:
1742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 1992              		.loc 1 1742 0
 1993 0000 01F00F02 		and	r2, r1, #15
 1994 0004 4368     		ldr	r3, [r0, #4]
 1995 0006 9A42     		cmp	r2, r3
 1996 0008 2DD8     		bhi	.L151
1739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   PCD_EPTypeDef *ep;
 1997              		.loc 1 1739 0
 1998 000a 10B5     		push	{r4, lr}
 1999              	.LCFI22:
 2000              		.cfi_def_cfa_offset 8
 2001              		.cfi_offset 4, -8
 2002              		.cfi_offset 14, -4
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 2003              		.loc 1 1747 0
 2004 000c 11F0800F 		tst	r1, #128
 2005 0010 1ED1     		bne	.L157
1754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 0U;
 2006              		.loc 1 1754 0
 2007 0012 01F00703 		and	r3, r1, #7
 2008 0016 5B01     		lsls	r3, r3, #5
 2009 0018 03F59472 		add	r2, r3, #296
 2010 001c 0244     		add	r2, r2, r0
 2011              	.LVL213:
1755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 2012              		.loc 1 1755 0
 2013 001e 0344     		add	r3, r3, r0
 2014 0020 0024     		movs	r4, #0
 2015 0022 83F82941 		strb	r4, [r3, #297]
 2016              	.L150:
1758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   ep->num = ep_addr & EP_ADDR_MSK;
 2017              		.loc 1 1758 0
 2018 0026 0023     		movs	r3, #0
 2019 0028 9370     		strb	r3, [r2, #2]
1759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2020              		.loc 1 1759 0
 2021 002a 01F00703 		and	r3, r1, #7
 2022 002e 1370     		strb	r3, [r2]
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_EPClearStall(hpcd->Instance, ep);
 2023              		.loc 1 1761 0
 2024 0030 90F82832 		ldrb	r3, [r0, #552]	@ zero_extendqisi2
 2025 0034 012B     		cmp	r3, #1
 2026 0036 18D0     		beq	.L152
 2027 0038 0446     		mov	r4, r0
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_EPClearStall(hpcd->Instance, ep);
 2028              		.loc 1 1761 0 is_stmt 0 discriminator 2
 2029 003a 0123     		movs	r3, #1
 2030 003c 80F82832 		strb	r3, [r0, #552]
1762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_UNLOCK(hpcd);
 2031              		.loc 1 1762 0 is_stmt 1 discriminator 2
 2032 0040 1146     		mov	r1, r2
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 77


 2033              	.LVL214:
 2034 0042 0068     		ldr	r0, [r0]
 2035              	.LVL215:
 2036 0044 FFF7FEFF 		bl	USB_EPClearStall
 2037              	.LVL216:
1763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2038              		.loc 1 1763 0 discriminator 2
 2039 0048 0020     		movs	r0, #0
 2040 004a 84F82802 		strb	r0, [r4, #552]
 2041              	.LVL217:
 2042              	.L148:
1766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2043              		.loc 1 1766 0
 2044 004e 10BD     		pop	{r4, pc}
 2045              	.LVL218:
 2046              	.L157:
1749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****     ep->is_in = 1U;
 2047              		.loc 1 1749 0
 2048 0050 01F00703 		and	r3, r1, #7
 2049 0054 5B01     		lsls	r3, r3, #5
 2050 0056 03F12802 		add	r2, r3, #40
 2051 005a 0244     		add	r2, r2, r0
 2052              	.LVL219:
1750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 2053              		.loc 1 1750 0
 2054 005c 0344     		add	r3, r3, r0
 2055 005e 0124     		movs	r4, #1
 2056 0060 83F82940 		strb	r4, [r3, #41]
 2057 0064 DFE7     		b	.L150
 2058              	.LVL220:
 2059              	.L151:
 2060              	.LCFI23:
 2061              		.cfi_def_cfa_offset 0
 2062              		.cfi_restore 4
 2063              		.cfi_restore 14
1744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 2064              		.loc 1 1744 0
 2065 0066 0120     		movs	r0, #1
 2066              	.LVL221:
1766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2067              		.loc 1 1766 0
 2068 0068 7047     		bx	lr
 2069              	.LVL222:
 2070              	.L152:
 2071              	.LCFI24:
 2072              		.cfi_def_cfa_offset 8
 2073              		.cfi_offset 4, -8
 2074              		.cfi_offset 14, -4
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   (void)USB_EPClearStall(hpcd->Instance, ep);
 2075              		.loc 1 1761 0
 2076 006a 0220     		movs	r0, #2
 2077              	.LVL223:
 2078 006c EFE7     		b	.L148
 2079              		.cfi_endproc
 2080              	.LFE92:
 2082              		.section	.text.HAL_PCD_EP_Flush,"ax",%progbits
 2083              		.align	1
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 78


 2084              		.global	HAL_PCD_EP_Flush
 2085              		.syntax unified
 2086              		.thumb
 2087              		.thumb_func
 2088              		.fpu softvfp
 2090              	HAL_PCD_EP_Flush:
 2091              	.LFB93:
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 2092              		.loc 1 1775 0
 2093              		.cfi_startproc
 2094              		@ args = 0, pretend = 0, frame = 0
 2095              		@ frame_needed = 0, uses_anonymous_args = 0
 2096              	.LVL224:
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2097              		.loc 1 1776 0
 2098 0000 90F82832 		ldrb	r3, [r0, #552]	@ zero_extendqisi2
 2099 0004 012B     		cmp	r3, #1
 2100 0006 14D0     		beq	.L162
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   __HAL_LOCK(hpcd);
 2101              		.loc 1 1775 0 discriminator 2
 2102 0008 10B5     		push	{r4, lr}
 2103              	.LCFI25:
 2104              		.cfi_def_cfa_offset 8
 2105              		.cfi_offset 4, -8
 2106              		.cfi_offset 14, -4
 2107 000a 0446     		mov	r4, r0
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2108              		.loc 1 1776 0 discriminator 2
 2109 000c 0123     		movs	r3, #1
 2110 000e 80F82832 		strb	r3, [r0, #552]
1778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   {
 2111              		.loc 1 1778 0 discriminator 2
 2112 0012 11F0800F 		tst	r1, #128
 2113 0016 06D1     		bne	.L167
1784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 2114              		.loc 1 1784 0
 2115 0018 0068     		ldr	r0, [r0]
 2116              	.LVL225:
 2117 001a FFF7FEFF 		bl	USB_FlushRxFifo
 2118              	.LVL226:
 2119              	.L161:
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2120              		.loc 1 1787 0
 2121 001e 0020     		movs	r0, #0
 2122 0020 84F82802 		strb	r0, [r4, #552]
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2123              		.loc 1 1790 0
 2124 0024 10BD     		pop	{r4, pc}
 2125              	.LVL227:
 2126              	.L167:
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   }
 2127              		.loc 1 1780 0
 2128 0026 01F00701 		and	r1, r1, #7
 2129              	.LVL228:
 2130 002a 0068     		ldr	r0, [r0]
 2131              	.LVL229:
 2132 002c FFF7FEFF 		bl	USB_FlushTxFifo
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 79


 2133              	.LVL230:
 2134 0030 F5E7     		b	.L161
 2135              	.LVL231:
 2136              	.L162:
 2137              	.LCFI26:
 2138              		.cfi_def_cfa_offset 0
 2139              		.cfi_restore 4
 2140              		.cfi_restore 14
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2141              		.loc 1 1776 0
 2142 0032 0220     		movs	r0, #2
 2143              	.LVL232:
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2144              		.loc 1 1790 0
 2145 0034 7047     		bx	lr
 2146              		.cfi_endproc
 2147              	.LFE93:
 2149              		.section	.text.HAL_PCD_ActivateRemoteWakeup,"ax",%progbits
 2150              		.align	1
 2151              		.global	HAL_PCD_ActivateRemoteWakeup
 2152              		.syntax unified
 2153              		.thumb
 2154              		.thumb_func
 2155              		.fpu softvfp
 2157              	HAL_PCD_ActivateRemoteWakeup:
 2158              	.LFB94:
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return (USB_ActivateRemoteWakeup(hpcd->Instance));
 2159              		.loc 1 1798 0
 2160              		.cfi_startproc
 2161              		@ args = 0, pretend = 0, frame = 0
 2162              		@ frame_needed = 0, uses_anonymous_args = 0
 2163              	.LVL233:
 2164 0000 08B5     		push	{r3, lr}
 2165              	.LCFI27:
 2166              		.cfi_def_cfa_offset 8
 2167              		.cfi_offset 3, -8
 2168              		.cfi_offset 14, -4
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 2169              		.loc 1 1799 0
 2170 0002 0068     		ldr	r0, [r0]
 2171              	.LVL234:
 2172 0004 FFF7FEFF 		bl	USB_ActivateRemoteWakeup
 2173              	.LVL235:
1800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2174              		.loc 1 1800 0
 2175 0008 08BD     		pop	{r3, pc}
 2176              		.cfi_endproc
 2177              	.LFE94:
 2179              		.section	.text.HAL_PCD_DeActivateRemoteWakeup,"ax",%progbits
 2180              		.align	1
 2181              		.global	HAL_PCD_DeActivateRemoteWakeup
 2182              		.syntax unified
 2183              		.thumb
 2184              		.thumb_func
 2185              		.fpu softvfp
 2187              	HAL_PCD_DeActivateRemoteWakeup:
 2188              	.LFB95:
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 80


1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return (USB_DeActivateRemoteWakeup(hpcd->Instance));
 2189              		.loc 1 1808 0
 2190              		.cfi_startproc
 2191              		@ args = 0, pretend = 0, frame = 0
 2192              		@ frame_needed = 0, uses_anonymous_args = 0
 2193              	.LVL236:
 2194 0000 08B5     		push	{r3, lr}
 2195              	.LCFI28:
 2196              		.cfi_def_cfa_offset 8
 2197              		.cfi_offset 3, -8
 2198              		.cfi_offset 14, -4
1809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 2199              		.loc 1 1809 0
 2200 0002 0068     		ldr	r0, [r0]
 2201              	.LVL237:
 2202 0004 FFF7FEFF 		bl	USB_DeActivateRemoteWakeup
 2203              	.LVL238:
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2204              		.loc 1 1810 0
 2205 0008 08BD     		pop	{r3, pc}
 2206              		.cfi_endproc
 2207              	.LFE95:
 2209              		.section	.text.HAL_PCD_GetState,"ax",%progbits
 2210              		.align	1
 2211              		.global	HAL_PCD_GetState
 2212              		.syntax unified
 2213              		.thumb
 2214              		.thumb_func
 2215              		.fpu softvfp
 2217              	HAL_PCD_GetState:
 2218              	.LFB96:
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c ****   return hpcd->State;
 2219              		.loc 1 1837 0
 2220              		.cfi_startproc
 2221              		@ args = 0, pretend = 0, frame = 0
 2222              		@ frame_needed = 0, uses_anonymous_args = 0
 2223              		@ link register save eliminated.
 2224              	.LVL239:
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** }
 2225              		.loc 1 1838 0
 2226 0000 90F82902 		ldrb	r0, [r0, #553]	@ zero_extendqisi2
 2227              	.LVL240:
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c **** 
 2228              		.loc 1 1839 0
 2229 0004 7047     		bx	lr
 2230              		.cfi_endproc
 2231              	.LFE96:
 2233              		.text
 2234              	.Letext0:
 2235              		.file 2 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 2236              		.file 3 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 2237              		.file 4 "Drivers/CMSIS/Include/core_cm3.h"
 2238              		.file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
 2239              		.file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
 2240              		.file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
 2241              		.file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h"
 2242              		.file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h"
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 81


 2243              		.file 10 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
 2244              		.file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h"
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 82


DEFINED SYMBOLS
                            *ABS*:00000000 stm32f1xx_hal_pcd.c
X:\TMP\USER_T~1\ccN6uLS9.s:16     .text.HAL_PCD_MspInit:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:23     .text.HAL_PCD_MspInit:00000000 HAL_PCD_MspInit
X:\TMP\USER_T~1\ccN6uLS9.s:38     .text.HAL_PCD_Init:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:45     .text.HAL_PCD_Init:00000000 HAL_PCD_Init
X:\TMP\USER_T~1\ccN6uLS9.s:233    .text.HAL_PCD_MspDeInit:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:240    .text.HAL_PCD_MspDeInit:00000000 HAL_PCD_MspDeInit
X:\TMP\USER_T~1\ccN6uLS9.s:254    .text.HAL_PCD_Start:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:261    .text.HAL_PCD_Start:00000000 HAL_PCD_Start
X:\TMP\USER_T~1\ccN6uLS9.s:313    .text.HAL_PCD_Stop:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:320    .text.HAL_PCD_Stop:00000000 HAL_PCD_Stop
X:\TMP\USER_T~1\ccN6uLS9.s:383    .text.HAL_PCD_DeInit:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:390    .text.HAL_PCD_DeInit:00000000 HAL_PCD_DeInit
X:\TMP\USER_T~1\ccN6uLS9.s:436    .text.HAL_PCD_DataOutStageCallback:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:443    .text.HAL_PCD_DataOutStageCallback:00000000 HAL_PCD_DataOutStageCallback
X:\TMP\USER_T~1\ccN6uLS9.s:457    .text.HAL_PCD_DataInStageCallback:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:464    .text.HAL_PCD_DataInStageCallback:00000000 HAL_PCD_DataInStageCallback
X:\TMP\USER_T~1\ccN6uLS9.s:478    .text.HAL_PCD_SetupStageCallback:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:485    .text.HAL_PCD_SetupStageCallback:00000000 HAL_PCD_SetupStageCallback
X:\TMP\USER_T~1\ccN6uLS9.s:499    .text.HAL_PCD_SOFCallback:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:506    .text.HAL_PCD_SOFCallback:00000000 HAL_PCD_SOFCallback
X:\TMP\USER_T~1\ccN6uLS9.s:520    .text.HAL_PCD_ResetCallback:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:527    .text.HAL_PCD_ResetCallback:00000000 HAL_PCD_ResetCallback
X:\TMP\USER_T~1\ccN6uLS9.s:541    .text.HAL_PCD_SuspendCallback:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:548    .text.HAL_PCD_SuspendCallback:00000000 HAL_PCD_SuspendCallback
X:\TMP\USER_T~1\ccN6uLS9.s:562    .text.HAL_PCD_ResumeCallback:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:569    .text.HAL_PCD_ResumeCallback:00000000 HAL_PCD_ResumeCallback
X:\TMP\USER_T~1\ccN6uLS9.s:583    .text.HAL_PCD_ISOOUTIncompleteCallback:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:590    .text.HAL_PCD_ISOOUTIncompleteCallback:00000000 HAL_PCD_ISOOUTIncompleteCallback
X:\TMP\USER_T~1\ccN6uLS9.s:604    .text.HAL_PCD_ISOINIncompleteCallback:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:611    .text.HAL_PCD_ISOINIncompleteCallback:00000000 HAL_PCD_ISOINIncompleteCallback
X:\TMP\USER_T~1\ccN6uLS9.s:625    .text.HAL_PCD_ConnectCallback:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:632    .text.HAL_PCD_ConnectCallback:00000000 HAL_PCD_ConnectCallback
X:\TMP\USER_T~1\ccN6uLS9.s:646    .text.HAL_PCD_DisconnectCallback:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:653    .text.HAL_PCD_DisconnectCallback:00000000 HAL_PCD_DisconnectCallback
X:\TMP\USER_T~1\ccN6uLS9.s:667    .text.HAL_PCD_DevConnect:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:674    .text.HAL_PCD_DevConnect:00000000 HAL_PCD_DevConnect
X:\TMP\USER_T~1\ccN6uLS9.s:722    .text.HAL_PCD_DevDisconnect:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:729    .text.HAL_PCD_DevDisconnect:00000000 HAL_PCD_DevDisconnect
X:\TMP\USER_T~1\ccN6uLS9.s:778    .text.HAL_PCD_SetAddress:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:785    .text.HAL_PCD_SetAddress:00000000 HAL_PCD_SetAddress
X:\TMP\USER_T~1\ccN6uLS9.s:833    .text.HAL_PCD_EP_Open:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:840    .text.HAL_PCD_EP_Open:00000000 HAL_PCD_EP_Open
X:\TMP\USER_T~1\ccN6uLS9.s:940    .text.HAL_PCD_EP_Close:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:947    .text.HAL_PCD_EP_Close:00000000 HAL_PCD_EP_Close
X:\TMP\USER_T~1\ccN6uLS9.s:1020   .text.HAL_PCD_EP_Receive:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:1027   .text.HAL_PCD_EP_Receive:00000000 HAL_PCD_EP_Receive
X:\TMP\USER_T~1\ccN6uLS9.s:1090   .text.HAL_PCD_EP_GetRxCount:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:1097   .text.HAL_PCD_EP_GetRxCount:00000000 HAL_PCD_EP_GetRxCount
X:\TMP\USER_T~1\ccN6uLS9.s:1118   .text.HAL_PCD_EP_Transmit:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:1125   .text.HAL_PCD_EP_Transmit:00000000 HAL_PCD_EP_Transmit
X:\TMP\USER_T~1\ccN6uLS9.s:1189   .text.PCD_EP_ISR_Handler:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:1195   .text.PCD_EP_ISR_Handler:00000000 PCD_EP_ISR_Handler
X:\TMP\USER_T~1\ccN6uLS9.s:1667   .text.HAL_PCD_IRQHandler:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:1674   .text.HAL_PCD_IRQHandler:00000000 HAL_PCD_IRQHandler
X:\TMP\USER_T~1\ccN6uLS9.s:1873   .text.HAL_PCD_EP_SetStall:00000000 $t
ARM GAS  X:\TMP\USER_T~1\ccN6uLS9.s 			page 83


X:\TMP\USER_T~1\ccN6uLS9.s:1880   .text.HAL_PCD_EP_SetStall:00000000 HAL_PCD_EP_SetStall
X:\TMP\USER_T~1\ccN6uLS9.s:1978   .text.HAL_PCD_EP_ClrStall:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:1985   .text.HAL_PCD_EP_ClrStall:00000000 HAL_PCD_EP_ClrStall
X:\TMP\USER_T~1\ccN6uLS9.s:2083   .text.HAL_PCD_EP_Flush:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:2090   .text.HAL_PCD_EP_Flush:00000000 HAL_PCD_EP_Flush
X:\TMP\USER_T~1\ccN6uLS9.s:2150   .text.HAL_PCD_ActivateRemoteWakeup:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:2157   .text.HAL_PCD_ActivateRemoteWakeup:00000000 HAL_PCD_ActivateRemoteWakeup
X:\TMP\USER_T~1\ccN6uLS9.s:2180   .text.HAL_PCD_DeActivateRemoteWakeup:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:2187   .text.HAL_PCD_DeActivateRemoteWakeup:00000000 HAL_PCD_DeActivateRemoteWakeup
X:\TMP\USER_T~1\ccN6uLS9.s:2210   .text.HAL_PCD_GetState:00000000 $t
X:\TMP\USER_T~1\ccN6uLS9.s:2217   .text.HAL_PCD_GetState:00000000 HAL_PCD_GetState

UNDEFINED SYMBOLS
USB_DisableGlobalInt
USB_CoreInit
USB_SetCurrentMode
USB_DevInit
USB_DevDisconnect
HAL_PCDEx_SetConnectionState
USB_DevConnect
USB_EnableGlobalInt
USB_StopDevice
USB_SetDevAddress
USB_ActivateEndpoint
USB_DeactivateEndpoint
USB_EPStartXfer
USB_ReadPMA
USB_ReadInterrupts
USB_EPSetStall
USB_EP0_OutStart
USB_EPClearStall
USB_FlushRxFifo
USB_FlushTxFifo
USB_ActivateRemoteWakeup
USB_DeActivateRemoteWakeup
