ARM GAS  X:\TMP\USER_T~1\cca0mJID.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_ll_usb.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.section	.text.USB_CoreInit,"ax",%progbits
  16              		.align	1
  17              		.global	USB_CoreInit
  18              		.syntax unified
  19              		.thumb
  20              		.thumb_func
  21              		.fpu softvfp
  23              	USB_CoreInit:
  24              	.LFB65:
  25              		.file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c"
   1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
   2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   ******************************************************************************
   3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @file    stm32f1xx_ll_usb.c
   4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @author  MCD Application Team
   5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief   USB Low Layer HAL module driver.
   6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *
   7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This file provides firmware functions to manage the following
   8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          functionalities of the USB Peripheral Controller:
   9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *           + Initialization/de-initialization functions
  10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *           + I/O operation functions
  11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *           + Peripheral Control functions
  12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *           + Peripheral State functions
  13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *
  14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   @verbatim
  15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   ==============================================================================
  16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                     ##### How to use this driver #####
  17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   ==============================================================================
  18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     [..]
  19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       (#) Fill parameters of Init structure in USB_OTG_CfgTypeDef structure.
  20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       (#) Call USB_CoreInit() API to initialize the USB Core peripheral.
  22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       (#) The upper HAL HCD/PCD driver will call the right routines for its internal processes.
  24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   @endverbatim
  26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   ******************************************************************************
  27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @attention
  28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *
  29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
  30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * All rights reserved.</center></h2>
  31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *
  32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * This software component is licensed by ST under BSD 3-Clause license,
  33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * the "License"; You may not use this file except in compliance with the
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 2


  34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * License. You may obtain a copy of the License at:
  35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *                        opensource.org/licenses/BSD-3-Clause
  36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *
  37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   ******************************************************************************
  38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
  39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /* Includes ------------------------------------------------------------------*/
  41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** #include "stm32f1xx_hal.h"
  42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /** @addtogroup STM32F1xx_LL_USB_DRIVER
  44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @{
  45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
  46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** #if defined (HAL_PCD_MODULE_ENABLED) || defined (HAL_HCD_MODULE_ENABLED)
  48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** #if defined (USB) || defined (USB_OTG_FS)
  49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /* Private typedef -----------------------------------------------------------*/
  50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /* Private define ------------------------------------------------------------*/
  51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /* Private macro -------------------------------------------------------------*/
  52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /* Private variables ---------------------------------------------------------*/
  53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /* Private function prototypes -----------------------------------------------*/
  54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /* Private functions ---------------------------------------------------------*/
  55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** #if defined (USB_OTG_FS)
  56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx);
  57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /* Exported functions --------------------------------------------------------*/
  59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /** @defgroup USB_LL_Exported_Functions USB Low Layer Exported Functions
  60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @{
  61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
  62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /** @defgroup USB_LL_Exported_Functions_Group1 Initialization/de-initialization functions
  64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****  *  @brief    Initialization and Configuration functions
  65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****  *
  66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** @verbatim
  67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****  ===============================================================================
  68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                       ##### Initialization/de-initialization functions #####
  69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****  ===============================================================================
  70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** @endverbatim
  72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @{
  73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
  74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
  76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Initializes the USB Core
  77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx USB Instance
  78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  cfg pointer to a USB_OTG_CfgTypeDef structure that contains
  79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         the configuration information for the specified USBx peripheral.
  80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
  81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
  82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg)
  83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
  84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_StatusTypeDef ret;
  85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (cfg.phy_itface == USB_OTG_ULPI_PHY)
  87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
  88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN);
  89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Init The ULPI Interface */
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 3


  91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_TSDPS | USB_OTG_GUSBCFG_ULPIFSLS | USB_OTG_GUSBCFG_PHYSEL);
  92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
  93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Select vbus source */
  94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_ULPIEVBUSD | USB_OTG_GUSBCFG_ULPIEVBUSI);
  95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (cfg.use_external_vbus == 1U)
  96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
  97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx->GUSBCFG |= USB_OTG_GUSBCFG_ULPIEVBUSD;
  98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
  99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Reset after a PHY select  */
 100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     ret = USB_CoreReset(USBx);
 101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else /* FS interface (embedded Phy) */
 103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Select FS Embedded PHY */
 105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx->GUSBCFG |= USB_OTG_GUSBCFG_PHYSEL;
 106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Reset after a PHY select and set Host mode */
 108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     ret = USB_CoreReset(USBx);
 109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Activate the USB Transceiver */
 111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN;
 112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ret;
 115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Set the USB turnaround time
 120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx USB Instance
 121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  hclk: AHB clock frequency
 122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval USB turnaround time In PHY Clocks number
 123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_SetTurnaroundTime(USB_OTG_GlobalTypeDef *USBx,
 125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                         uint32_t hclk, uint8_t speed)
 126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t UsbTrd;
 128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* The USBTRD is configured according to the tables below, depending on AHB frequency
 130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   used by application. In the low AHB frequency range it is used to stretch enough the USB response
 131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   time to IN tokens, the USB turnaround time, so to compensate for the longer AHB read access
 132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   latency to the Data FIFO */
 133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (speed == USBD_FS_SPEED)
 134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if ((hclk >= 14200000U) && (hclk < 15000000U))
 136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* hclk Clock Range between 14.2-15 MHz */
 138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       UsbTrd = 0xFU;
 139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else if ((hclk >= 15000000U) && (hclk < 16000000U))
 141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* hclk Clock Range between 15-16 MHz */
 143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       UsbTrd = 0xEU;
 144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else if ((hclk >= 16000000U) && (hclk < 17200000U))
 146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* hclk Clock Range between 16-17.2 MHz */
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 4


 148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       UsbTrd = 0xDU;
 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else if ((hclk >= 17200000U) && (hclk < 18500000U))
 151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* hclk Clock Range between 17.2-18.5 MHz */
 153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       UsbTrd = 0xCU;
 154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else if ((hclk >= 18500000U) && (hclk < 20000000U))
 156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* hclk Clock Range between 18.5-20 MHz */
 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       UsbTrd = 0xBU;
 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else if ((hclk >= 20000000U) && (hclk < 21800000U))
 161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* hclk Clock Range between 20-21.8 MHz */
 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       UsbTrd = 0xAU;
 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else if ((hclk >= 21800000U) && (hclk < 24000000U))
 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* hclk Clock Range between 21.8-24 MHz */
 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       UsbTrd = 0x9U;
 169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else if ((hclk >= 24000000U) && (hclk < 27700000U))
 171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* hclk Clock Range between 24-27.7 MHz */
 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       UsbTrd = 0x8U;
 174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else if ((hclk >= 27700000U) && (hclk < 32000000U))
 176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* hclk Clock Range between 27.7-32 MHz */
 178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       UsbTrd = 0x7U;
 179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else /* if(hclk >= 32000000) */
 181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* hclk Clock Range between 32-200 MHz */
 183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       UsbTrd = 0x6U;
 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
 187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     UsbTrd = USBD_DEFAULT_TRDT_VALUE;
 189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GUSBCFG &= ~USB_OTG_GUSBCFG_TRDT;
 192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GUSBCFG |= (uint32_t)((UsbTrd << 10) & USB_OTG_GUSBCFG_TRDT);
 193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_EnableGlobalInt
 199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         Enables the controller's Global Int in the AHB Config reg
 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_EnableGlobalInt(USB_OTG_GlobalTypeDef *USBx)
 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 5


 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GAHBCFG |= USB_OTG_GAHBCFG_GINT;
 206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_DisableGlobalInt
 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         Disable the controller's Global Int in the AHB Config reg
 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** */
 215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_DisableGlobalInt(USB_OTG_GlobalTypeDef *USBx)
 216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GAHBCFG &= ~USB_OTG_GAHBCFG_GINT;
 218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_SetCurrentMode : Set functional mode
 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  mode   current core mode
 225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be one of these values:
 226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg USB_DEVICE_MODE: Peripheral mode
 227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg USB_HOST_MODE: Host mode
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg USB_DRD_MODE: Dual Role Device mode
 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_SetCurrentMode(USB_OTG_GlobalTypeDef *USBx, USB_ModeTypeDef mode)
 232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_FHMOD | USB_OTG_GUSBCFG_FDMOD);
 234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (mode == USB_HOST_MODE)
 236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx->GUSBCFG |= USB_OTG_GUSBCFG_FHMOD;
 238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else if (mode == USB_DEVICE_MODE)
 240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx->GUSBCFG |= USB_OTG_GUSBCFG_FDMOD;
 242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
 244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     return HAL_ERROR;
 246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_Delay(50U);
 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_DevInit : Initializes the USB_OTG controller registers
 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         for device mode
 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  cfg   pointer to a USB_OTG_CfgTypeDef structure that contains
 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         the configuration information for the specified USBx peripheral.
 258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg)
 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 6


 262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_StatusTypeDef ret = HAL_OK;
 263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t i;
 265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   for (i = 0U; i < 15U; i++)
 267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx->DIEPTXF[i] = 0U;
 269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Enable HW VBUS sensing */
 272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GCCFG |= USB_OTG_GCCFG_VBUSBSEN;
 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Restart the Phy Clock */
 275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_PCGCCTL = 0U;
 276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Device mode configuration */
 278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DCFG |= DCFG_FRAME_INTERVAL_80;
 279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Set Core speed to Full speed mode */
 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_FULL);
 282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Flush the FIFOs */
 284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (USB_FlushTxFifo(USBx, 0x10U) != HAL_OK) /* all Tx FIFOs */
 285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     ret = HAL_ERROR;
 287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (USB_FlushRxFifo(USBx) != HAL_OK)
 290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     ret = HAL_ERROR;
 292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Clear all pending Device Interrupts */
 295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DIEPMSK = 0U;
 296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DOEPMSK = 0U;
 297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DAINTMSK = 0U;
 298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   for (i = 0U; i < cfg.dev_endpoints; i++)
 300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if ((USBx_INEP(i)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA)
 302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if (i == 0U)
 304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_SNAK;
 306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       else
 308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_EPDIS | USB_OTG_DIEPCTL_SNAK;
 310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
 313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(i)->DIEPCTL = 0U;
 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_INEP(i)->DIEPTSIZ = 0U;
 318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_INEP(i)->DIEPINT  = 0xFB7FU;
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 7


 319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   for (i = 0U; i < cfg.dev_endpoints; i++)
 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if ((USBx_OUTEP(i)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA)
 324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if (i == 0U)
 326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_SNAK;
 328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       else
 330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_EPDIS | USB_OTG_DOEPCTL_SNAK;
 332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_OUTEP(i)->DOEPCTL = 0U;
 337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(i)->DOEPTSIZ = 0U;
 340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(i)->DOEPINT  = 0xFB7FU;
 341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DIEPMSK &= ~(USB_OTG_DIEPMSK_TXFURM);
 344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Disable all interrupts. */
 346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GINTMSK = 0U;
 347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Clear any pending interrupts */
 349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GINTSTS = 0xBFFFFFFFU;
 350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Enable the common interrupts */
 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GINTMSK |= USB_OTG_GINTMSK_RXFLVLM;
 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Enable interrupts matching to the Device mode ONLY */
 355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GINTMSK |= USB_OTG_GINTMSK_USBSUSPM | USB_OTG_GINTMSK_USBRST |
 356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                    USB_OTG_GINTMSK_ENUMDNEM | USB_OTG_GINTMSK_IEPINT |
 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                    USB_OTG_GINTMSK_OEPINT   | USB_OTG_GINTMSK_IISOIXFRM |
 358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                    USB_OTG_GINTMSK_PXFRM_IISOOXFRM | USB_OTG_GINTMSK_WUIM;
 359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (cfg.Sof_enable != 0U)
 361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx->GINTMSK |= USB_OTG_GINTMSK_SOFM;
 363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (cfg.vbus_sensing_enable == 1U)
 366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx->GINTMSK |= (USB_OTG_GINTMSK_SRQIM | USB_OTG_GINTMSK_OTGINT);
 368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ret;
 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_OTG_FlushTxFifo : Flush a Tx FIFO
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 8


 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  num  FIFO number
 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         This parameter can be a value from 1 to 15
 378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             15 means Flush all Tx FIFOs
 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushTxFifo(USB_OTG_GlobalTypeDef *USBx, uint32_t num)
 382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t count = 0U;
 384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GRSTCTL = (USB_OTG_GRSTCTL_TXFFLSH | (num << 6));
 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   do
 388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (++count > 200000U)
 390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       return HAL_TIMEOUT;
 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_TXFFLSH) == USB_OTG_GRSTCTL_TXFFLSH);
 395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_FlushRxFifo : Flush Rx FIFO
 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushRxFifo(USB_OTG_GlobalTypeDef *USBx)
 405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t count = 0;
 407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GRSTCTL = USB_OTG_GRSTCTL_RXFFLSH;
 409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   do
 411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (++count > 200000U)
 413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       return HAL_TIMEOUT;
 415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_RXFFLSH) == USB_OTG_GRSTCTL_RXFFLSH);
 418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_SetDevSpeed  Initializes the DevSpd field of DCFG register
 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         depending the PHY type and the enumeration speed of the device.
 425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  speed  device speed
 427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be one of these values:
 428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg USB_OTG_SPEED_FULL: Full speed mode
 429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval  Hal status
 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_SetDevSpeed(USB_OTG_GlobalTypeDef *USBx, uint8_t speed)
 432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 9


 433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DCFG |= speed;
 436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_GetDevSpeed  Return the Dev Speed
 441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval speed  device speed
 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be one of these values:
 444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg PCD_SPEED_FULL: Full speed mode
 445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint8_t USB_GetDevSpeed(USB_OTG_GlobalTypeDef *USBx)
 447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint8_t speed;
 450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t DevEnumSpeed = USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD;
 451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if ((DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ) ||
 453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       (DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_48MHZ))
 454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     speed = USBD_FS_SPEED;
 456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
 458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     speed = 0xFU;
 460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return speed;
 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Activate and configure an endpoint
 467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep pointer to endpoint structure
 469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t epnum = (uint32_t)ep->num;
 475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->is_in == 1U)
 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK));
 479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_USBAEP) == 0U)
 481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) |
 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                    ((uint32_t)ep->type << 18) | (epnum << 22) |
 484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                    USB_OTG_DIEPCTL_SD0PID_SEVNFRM |
 485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                    USB_OTG_DIEPCTL_USBAEP;
 486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 10


 490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) <<
 491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (((USBx_OUTEP(epnum)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0U)
 493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) |
 495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                     ((uint32_t)ep->type << 18) |
 496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                     USB_OTG_DIEPCTL_SD0PID_SEVNFRM |
 497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                     USB_OTG_DOEPCTL_USBAEP;
 498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Activate and configure a dedicated endpoint
 505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep pointer to endpoint structure
 507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateDedicatedEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t epnum = (uint32_t)ep->num;
 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Read DEPCTLn register */
 515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->is_in == 1U)
 516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (((USBx_INEP(epnum)->DIEPCTL) & USB_OTG_DIEPCTL_USBAEP) == 0U)
 518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) |
 520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                    ((uint32_t)ep->type << 18) | (epnum << 22) |
 521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                    USB_OTG_DIEPCTL_SD0PID_SEVNFRM |
 522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                    USB_OTG_DIEPCTL_USBAEP;
 523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DEVICE->DEACHMSK |= USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK));
 526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
 528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (((USBx_OUTEP(epnum)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0U)
 530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) |
 532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                     ((uint32_t)ep->type << 18) | (epnum << 22) |
 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                     USB_OTG_DOEPCTL_USBAEP;
 534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DEVICE->DEACHMSK |= USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) <<
 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  De-activate and de-initialize an endpoint
 544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep pointer to endpoint structure
 546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 11


 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_DeactivateEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t epnum = (uint32_t)ep->num;
 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Read DEPCTLn register */
 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->is_in == 1U)
 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK)));
 557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK)));
 558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP |
 559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                    USB_OTG_DIEPCTL_MPSIZ |
 560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                    USB_OTG_DIEPCTL_TXFNUM |
 561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                    USB_OTG_DIEPCTL_SD0PID_SEVNFRM |
 562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                    USB_OTG_DIEPCTL_EPTYP);
 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 
 567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 
 568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP |
 569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                     USB_OTG_DOEPCTL_MPSIZ |
 570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                     USB_OTG_DOEPCTL_SD0PID_SEVNFRM |
 571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                     USB_OTG_DOEPCTL_EPTYP);
 572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  De-activate and de-initialize a dedicated endpoint
 579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep pointer to endpoint structure
 581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_DeactivateDedicatedEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *e
 584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t epnum = (uint32_t)ep->num;
 587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Read DEPCTLn register */
 589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->is_in == 1U)
 590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_INEP(epnum)->DIEPCTL &= ~ USB_OTG_DIEPCTL_USBAEP;
 592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK)));
 593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
 595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPCTL &= ~USB_OTG_DOEPCTL_USBAEP;
 597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 
 598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 12


 604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_EPStartXfer : setup and starts a transfer over an EP
 605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep pointer to endpoint structure
 607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_EPStartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t epnum = (uint32_t)ep->num;
 613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t pktcnt;
 614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* IN endpoint */
 616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->is_in == 1U)
 617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Zero Length Packet? */
 619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->xfer_len == 0U)
 620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT);
 622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19));
 623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ);
 624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
 626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Program the transfer size and packet count
 628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       * as follows: xfersize = N * maxpacket +
 629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       * short_packet pktcnt = N + (short_packet
 630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       * exist ? 1 : 0)
 631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       */
 632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ);
 633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT);
 634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (((ep->xfer_len + ep->maxpacket - 1U
 635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len);
 636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if (ep->type == EP_TYPE_ISOC)
 638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_MULCNT);
 640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & (1U << 29));
 641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* EP enable, IN data in FIFO */
 644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA);
 645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->type != EP_TYPE_ISOC)
 647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Enable the Tx FIFO Empty Interrupt for this EP */
 649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if (ep->xfer_len > 0U)
 650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK);
 652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
 655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U)
 657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM;
 659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       else
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 13


 661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM;
 663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       (void)USB_WritePacket(USBx, ep->xfer_buff, ep->num, (uint16_t)ep->xfer_len);
 666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else /* OUT endpoint */
 669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Program the transfer size and packet count as follows:
 671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     * pktcnt = N
 672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     * xfersize = N * maxpacket
 673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     */
 674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ);
 675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT);
 676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->xfer_len == 0U)
 678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & ep->maxpacket);
 680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19));
 681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
 683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       pktcnt = (uint16_t)((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket);
 685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19);
 686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket * pktcnt);
 687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->type == EP_TYPE_ISOC)
 690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U)
 692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SODDFRM;
 694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       else
 696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM;
 698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* EP enable */
 701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA);
 702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_EP0StartXfer : setup and starts a transfer over the EP  0
 709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep pointer to endpoint structure
 711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_EP0StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t epnum = (uint32_t)ep->num;
 717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 14


 718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* IN endpoint */
 719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->is_in == 1U)
 720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Zero Length Packet? */
 722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->xfer_len == 0U)
 723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT);
 725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19));
 726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ);
 727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
 729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Program the transfer size and packet count
 731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       * as follows: xfersize = N * maxpacket +
 732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       * short_packet pktcnt = N + (short_packet
 733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       * exist ? 1 : 0)
 734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       */
 735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ);
 736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT);
 737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if (ep->xfer_len > ep->maxpacket)
 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         ep->xfer_len = ep->maxpacket;
 741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19));
 743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len);
 744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* EP enable, IN data in FIFO */
 747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA);
 748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Enable the Tx FIFO Empty Interrupt for this EP */
 750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->xfer_len > 0U)
 751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK);
 753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else /* OUT endpoint */
 756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Program the transfer size and packet count as follows:
 758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     * pktcnt = N
 759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     * xfersize = N * maxpacket
 760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     */
 761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ);
 762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT);
 763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->xfer_len > 0U)
 765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       ep->xfer_len = ep->maxpacket;
 767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19));
 770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket));
 771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* EP enable */
 773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA);
 774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 15


 775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_WritePacket : Writes a packet into the Tx FIFO associated
 781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         with the EP/channel
 782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  src   pointer to source buffer
 784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ch_ep_num  endpoint or host channel number
 785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  len  Number of bytes to write
 786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_WritePacket(USB_OTG_GlobalTypeDef *USBx, uint8_t *src, uint8_t ch_ep_num, uin
 789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t *pSrc = (uint32_t *)src;
 792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t count32b, i;
 793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   count32b = ((uint32_t)len + 3U) / 4U;
 795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   for (i = 0U; i < count32b; i++)
 796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DFIFO((uint32_t)ch_ep_num) = __UNALIGNED_UINT32_READ(pSrc);
 798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     pSrc++;
 799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ReadPacket : read a packet from the RX FIFO
 806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  dest  source pointer
 808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  len  Number of bytes to read
 809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval pointer to destination buffer
 810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** void *USB_ReadPacket(USB_OTG_GlobalTypeDef *USBx, uint8_t *dest, uint16_t len)
 812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t *pDest = (uint32_t *)dest;
 815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t i;
 816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t count32b = ((uint32_t)len + 3U) / 4U;
 817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   for (i = 0U; i < count32b; i++)
 819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     __UNALIGNED_UINT32_WRITE(pDest, USBx_DFIFO(0U));
 821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     pDest++;
 822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ((void *)pDest);
 825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_EPSetStall : set a stall condition over an EP
 829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep pointer to endpoint structure
 831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 16


 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_EPSetStall(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t epnum = (uint32_t)ep->num;
 837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->is_in == 1U)
 839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == 0U) && (epnum != 0U))
 841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_EPDIS);
 843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_STALL;
 845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
 847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == 0U) && (epnum != 0U))
 849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_EPDIS);
 851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_STALL;
 853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_EPClearStall : Clear a stall condition over an EP
 860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep pointer to endpoint structure
 862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_EPClearStall(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep)
 865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t epnum = (uint32_t)ep->num;
 868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->is_in == 1U)
 870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_INEP(epnum)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL;
 872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK))
 873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; /* DATA0 */
 875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
 878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(epnum)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL;
 880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK))
 881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; /* DATA0 */
 883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 17


 889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_StopDevice : Stop the usb device mode
 890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_StopDevice(USB_OTG_GlobalTypeDef *USBx)
 894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_StatusTypeDef ret;
 896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t i;
 898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Clear Pending interrupt */
 900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   for (i = 0U; i < 15U; i++)
 901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_INEP(i)->DIEPINT = 0xFB7FU;
 903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_OUTEP(i)->DOEPINT = 0xFB7FU;
 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Clear interrupt masks */
 907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DIEPMSK  = 0U;
 908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DOEPMSK  = 0U;
 909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DAINTMSK = 0U;
 910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Flush the FIFO */
 912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   ret = USB_FlushRxFifo(USBx);
 913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ret != HAL_OK)
 914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     return ret;
 916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   ret = USB_FlushTxFifo(USBx,  0x10U);
 919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ret != HAL_OK)
 920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     return ret;
 922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ret;
 925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_SetDevAddress : Stop the usb device mode
 929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  address  new device address to be assigned
 931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be a value from 0 to 255
 932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef  USB_SetDevAddress(USB_OTG_GlobalTypeDef *USBx, uint8_t address)
 935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DCFG &= ~(USB_OTG_DCFG_DAD);
 939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DCFG |= ((uint32_t)address << 4) & USB_OTG_DCFG_DAD;
 940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_DevConnect : Connect the USB device by enabling the pull-up/pull-down
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 18


 946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef  USB_DevConnect(USB_OTG_GlobalTypeDef *USBx)
 950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_SDIS;
 954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_Delay(3U);
 955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_DevDisconnect : Disconnect the USB device by disabling the pull-up/pull-down
 961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef  USB_DevDisconnect(USB_OTG_GlobalTypeDef *USBx)
 965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS;
 969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_Delay(3U);
 970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
 972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ReadInterrupts: return the global USB interrupt status
 976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t  USB_ReadInterrupts(USB_OTG_GlobalTypeDef *USBx)
 980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t tmpreg;
 982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg = USBx->GINTSTS;
 984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg &= USBx->GINTMSK;
 985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return tmpreg;
 987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
 990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ReadDevAllOutEpInterrupt: return the USB device OUT endpoints interrupt status
 991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
 992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
 993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
 994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_ReadDevAllOutEpInterrupt(USB_OTG_GlobalTypeDef *USBx)
 995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
 997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t tmpreg;
 998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg  = USBx_DEVICE->DAINT;
1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg &= USBx_DEVICE->DAINTMSK;
1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ((tmpreg & 0xffff0000U) >> 16);
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 19


1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ReadDevAllInEpInterrupt: return the USB device IN endpoints interrupt status
1007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_ReadDevAllInEpInterrupt(USB_OTG_GlobalTypeDef *USBx)
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t tmpreg;
1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg  = USBx_DEVICE->DAINT;
1016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg &= USBx_DEVICE->DAINTMSK;
1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ((tmpreg & 0xFFFFU));
1019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Returns Device OUT EP Interrupt register
1023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  epnum  endpoint number
1025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be a value from 0 to 15
1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval Device OUT EP Interrupt register
1027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_ReadDevOutEPInterrupt(USB_OTG_GlobalTypeDef *USBx, uint8_t epnum)
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t tmpreg;
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg  = USBx_OUTEP((uint32_t)epnum)->DOEPINT;
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg &= USBx_DEVICE->DOEPMSK;
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return tmpreg;
1037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Returns Device IN EP Interrupt register
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  epnum  endpoint number
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be a value from 0 to 15
1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval Device IN EP Interrupt register
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_ReadDevInEPInterrupt(USB_OTG_GlobalTypeDef *USBx, uint8_t epnum)
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t tmpreg, msk, emp;
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   msk = USBx_DEVICE->DIEPMSK;
1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   emp = USBx_DEVICE->DIEPEMPMSK;
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   msk |= ((emp >> (epnum & EP_ADDR_MSK)) & 0x1U) << 7;
1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk;
1055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return tmpreg;
1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 20


1060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ClearInterrupts: clear a USB interrupt
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  interrupt  interrupt flag
1063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval None
1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** void  USB_ClearInterrupts(USB_OTG_GlobalTypeDef *USBx, uint32_t interrupt)
1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GINTSTS |= interrupt;
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Returns USB core mode
1072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval return core mode : Host or Device
1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be one of these values:
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *           0 : Host
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *           1 : Device
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_GetMode(USB_OTG_GlobalTypeDef *USBx)
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ((USBx->GINTSTS) & 0x1U);
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Activate EP0 for Setup transactions
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef  USB_ActivateSetup(USB_OTG_GlobalTypeDef *USBx)
1089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Set the MPS of the IN EP0 to 64 bytes */
1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_INEP(0U)->DIEPCTL &= ~USB_OTG_DIEPCTL_MPSIZ;
1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DCTL |= USB_OTG_DCTL_CGINAK;
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Prepare the EP0 to start the first control setup
1102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  psetup  pointer to setup packet
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_EP0_OutStart(USB_OTG_GlobalTypeDef *USBx, uint8_t *psetup)
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(psetup);
1109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U);
1111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (gSNPSiD > USB_OTG_CORE_ID_300A)
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if ((USBx_OUTEP(0U)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA)
1115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       return HAL_OK;
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 21


1117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_OUTEP(0U)->DOEPTSIZ = 0U;
1121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_OUTEP(0U)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19));
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_OUTEP(0U)->DOEPTSIZ |= (3U * 8U);
1123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_OUTEP(0U)->DOEPTSIZ |=  USB_OTG_DOEPTSIZ_STUPCNT;
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Reset the USB Core (needed after USB clock settings change)
1130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx)
1134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t count = 0U;
1136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Wait for AHB master IDLE state. */
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   do
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (++count > 200000U)
1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       return HAL_TIMEOUT;
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U);
1146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Core Soft Reset */
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   count = 0U;
1149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GRSTCTL |= USB_OTG_GRSTCTL_CSRST;
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   do
1152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (++count > 200000U)
1154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       return HAL_TIMEOUT;
1156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST);
1159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_HostInit : Initializes the USB OTG controller registers
1165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         for Host mode
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  cfg   pointer to a USB_OTG_CfgTypeDef structure that contains
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         the configuration information for the specified USBx peripheral.
1169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_HostInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg)
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 22


1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t i;
1175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Restart the Phy Clock */
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_PCGCCTL = 0U;
1178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Disable VBUS sensing */
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GCCFG &= ~(USB_OTG_GCCFG_VBUSASEN);
1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GCCFG &= ~(USB_OTG_GCCFG_VBUSBSEN);
1182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Set default Max speed support */
1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HOST->HCFG &= ~(USB_OTG_HCFG_FSLSS);
1184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Make sure the FIFOs are flushed. */
1186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   (void)USB_FlushTxFifo(USBx, 0x10U); /* all Tx FIFOs */
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   (void)USB_FlushRxFifo(USBx);
1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Clear all pending HC Interrupts */
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   for (i = 0U; i < cfg.Host_channels; i++)
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_HC(i)->HCINT = 0xFFFFFFFFU;
1193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_HC(i)->HCINTMSK = 0U;
1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Enable VBUS driving */
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   (void)USB_DriveVbus(USBx, 1U);
1198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_Delay(200U);
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Disable all interrupts. */
1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GINTMSK = 0U;
1203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Clear any pending interrupts */
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GINTSTS = 0xFFFFFFFFU;
1206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* set Rx FIFO size */
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GRXFSIZ  = 0x80U;
1209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->DIEPTXF0_HNPTXFSIZ = (uint32_t)(((0x60U << 16) & USB_OTG_NPTXFD) | 0x80U);
1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->HPTXFSIZ = (uint32_t)(((0x40U << 16)& USB_OTG_HPTXFSIZ_PTXFD) | 0xE0U);
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Enable the common interrupts */
1212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GINTMSK |= USB_OTG_GINTMSK_RXFLVLM;
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Enable interrupts matching to the Host mode ONLY */
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GINTMSK |= (USB_OTG_GINTMSK_PRTIM            | USB_OTG_GINTMSK_HCIM | \
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                     USB_OTG_GINTMSK_SOFM             | USB_OTG_GINTSTS_DISCINT | \
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                     USB_OTG_GINTMSK_PXFRM_IISOOXFRM  | USB_OTG_GINTMSK_WUIM);
1218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_InitFSLSPClkSel : Initializes the FSLSPClkSel field of the
1224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         HCFG register on the PHY type and set the right frame interval
1225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  freq  clock frequency
1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be one of these values:
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *           HCFG_48_MHZ : Full Speed 48 MHz Clock
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *           HCFG_6_MHZ : Low Speed 6 MHz Clock
1230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 23


1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_InitFSLSPClkSel(USB_OTG_GlobalTypeDef *USBx, uint8_t freq)
1233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HOST->HCFG &= ~(USB_OTG_HCFG_FSLSPCS);
1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HOST->HCFG |= (uint32_t)freq & USB_OTG_HCFG_FSLSPCS;
1238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (freq == HCFG_48_MHZ)
1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_HOST->HFIR = 48000U;
1242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else if (freq == HCFG_6_MHZ)
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_HOST->HFIR = 6000U;
1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
1248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* ... */
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** * @brief  USB_OTG_ResetPort : Reset Host Port
1257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @note (1)The application must wait at least 10 ms
1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *   before clearing the reset bit.
1261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_ResetPort(USB_OTG_GlobalTypeDef *USBx)
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   __IO uint32_t hprt0 = 0U;
1267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   hprt0 = USBx_HPRT0;
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   hprt0 &= ~(USB_OTG_HPRT_PENA | USB_OTG_HPRT_PCDET |
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****              USB_OTG_HPRT_PENCHNG | USB_OTG_HPRT_POCCHNG);
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HPRT0 = (USB_OTG_HPRT_PRST | hprt0);
1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_Delay(100U);                                 /* See Note #1 */
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HPRT0 = ((~USB_OTG_HPRT_PRST) & hprt0);
1276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_Delay(10U);
1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_DriveVbus : activate or de-activate vbus
1283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  state  VBUS state
1284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be one of these values:
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *           0 : VBUS Active
1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *           1 : VBUS Inactive
1287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 24


1288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** */
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_DriveVbus(USB_OTG_GlobalTypeDef *USBx, uint8_t state)
1290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   __IO uint32_t hprt0 = 0U;
1293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   hprt0 = USBx_HPRT0;
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   hprt0 &= ~(USB_OTG_HPRT_PENA | USB_OTG_HPRT_PCDET |
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****              USB_OTG_HPRT_PENCHNG | USB_OTG_HPRT_POCCHNG);
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (((hprt0 & USB_OTG_HPRT_PPWR) == 0U) && (state == 1U))
1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_HPRT0 = (USB_OTG_HPRT_PPWR | hprt0);
1302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (((hprt0 & USB_OTG_HPRT_PPWR) == USB_OTG_HPRT_PPWR) && (state == 0U))
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_HPRT0 = ((~USB_OTG_HPRT_PPWR) & hprt0);
1306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Return Host Core speed
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval speed : Host speed
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be one of these values:
1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg HCD_SPEED_FULL: Full speed mode
1316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg HCD_SPEED_LOW: Low speed mode
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_GetHostSpeed(USB_OTG_GlobalTypeDef *USBx)
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   __IO uint32_t hprt0 = 0U;
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   hprt0 = USBx_HPRT0;
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ((hprt0 & USB_OTG_HPRT_PSPD) >> 17);
1325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Return Host Current Frame number
1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval current frame number
1331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** */
1332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_GetCurrentFrame(USB_OTG_GlobalTypeDef *USBx)
1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return (USBx_HOST->HFNUM & USB_OTG_HFNUM_FRNUM);
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Initialize a host channel
1341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ch_num  Channel number
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         This parameter can be a value from 1 to 15
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  epnum  Endpoint number
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 25


1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be a value from 1 to 15
1346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  dev_address  Current device address
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be a value from 0 to 255
1348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  speed  Current device speed
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be one of these values:
1350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg USB_OTG_SPEED_FULL: Full speed mode
1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg USB_OTG_SPEED_LOW: Low speed mode
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep_type  Endpoint Type
1353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be one of these values:
1354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg EP_TYPE_CTRL: Control type
1355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg EP_TYPE_ISOC: Isochronous type
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg EP_TYPE_BULK: Bulk type
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg EP_TYPE_INTR: Interrupt type
1358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  mps  Max Packet Size
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be a value from 0 to32K
1360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL state
1361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_HC_Init(USB_OTG_GlobalTypeDef *USBx,
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                               uint8_t ch_num,
1364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                               uint8_t epnum,
1365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                               uint8_t dev_address,
1366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                               uint8_t speed,
1367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                               uint8_t ep_type,
1368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                               uint16_t mps)
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_StatusTypeDef ret = HAL_OK;
1371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t HCcharEpDir, HCcharLowSpeed;
1373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Clear old interrupt conditions for this host channel. */
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HC((uint32_t)ch_num)->HCINT = 0xFFFFFFFFU;
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Enable channel interrupts required for this transfer. */
1378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   switch (ep_type)
1379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     case EP_TYPE_CTRL:
1381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     case EP_TYPE_BULK:
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_HC((uint32_t)ch_num)->HCINTMSK = USB_OTG_HCINTMSK_XFRCM  |
1383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_STALLM |
1384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_TXERRM |
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_DTERRM |
1386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_AHBERR |
1387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_NAKM;
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if ((epnum & 0x80U) == 0x80U)
1390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_HC((uint32_t)ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_BBERRM;
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
1393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     case EP_TYPE_INTR:
1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_HC((uint32_t)ch_num)->HCINTMSK = USB_OTG_HCINTMSK_XFRCM  |
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_STALLM |
1398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_TXERRM |
1399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_DTERRM |
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_NAKM   |
1401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_AHBERR |
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 26


1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_FRMORM;
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if ((epnum & 0x80U) == 0x80U)
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_HC((uint32_t)ch_num)->HCINTMSK |= USB_OTG_HCINTMSK_BBERRM;
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
1408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
1410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     case EP_TYPE_ISOC:
1412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_HC((uint32_t)ch_num)->HCINTMSK = USB_OTG_HCINTMSK_XFRCM  |
1413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_ACKM   |
1414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_AHBERR |
1415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                             USB_OTG_HCINTMSK_FRMORM;
1416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if ((epnum & 0x80U) == 0x80U)
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
1419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         USBx_HC((uint32_t)ch_num)->HCINTMSK |= (USB_OTG_HCINTMSK_TXERRM | USB_OTG_HCINTMSK_BBERRM);
1420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
1421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
1422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     default:
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       ret = HAL_ERROR;
1425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
1426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Enable the top level host channel interrupt. */
1429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HOST->HAINTMSK |= 1UL << (ch_num & 0xFU);
1430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Make sure host channel interrupts are enabled. */
1432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GINTMSK |= USB_OTG_GINTMSK_HCIM;
1433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Program the HCCHAR register */
1435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if ((epnum & 0x80U) == 0x80U)
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     HCcharEpDir = (0x1U << 15) & USB_OTG_HCCHAR_EPDIR;
1438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     HCcharEpDir = 0U;
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (speed == HPRT0_PRTSPD_LOW_SPEED)
1445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     HCcharLowSpeed = (0x1U << 17) & USB_OTG_HCCHAR_LSDEV;
1447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
1449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     HCcharLowSpeed = 0U;
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HC((uint32_t)ch_num)->HCCHAR = (((uint32_t)dev_address << 22) & USB_OTG_HCCHAR_DAD) |
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                       ((((uint32_t)epnum & 0x7FU) << 11) & USB_OTG_HCCHAR_EPNUM) |
1455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                       (((uint32_t)ep_type << 18) & USB_OTG_HCCHAR_EPTYP) |
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                                       ((uint32_t)mps & USB_OTG_HCCHAR_MPSIZ) | HCcharEpDir | HCchar
1457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep_type == EP_TYPE_INTR)
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 27


1459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_HC((uint32_t)ch_num)->HCCHAR |= USB_OTG_HCCHAR_ODDFRM ;
1461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ret;
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Start a transfer over a host channel
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  hc  pointer to host channel structure
1470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL state
1471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_HC_StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_HCTypeDef *hc)
1473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t ch_num = (uint32_t)hc->ch_num;
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   static __IO uint32_t tmpreg = 0U;
1477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint8_t  is_oddframe;
1478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t len_words;
1479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t num_packets;
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t max_hc_pkt_count = 256U;
1481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Compute the expected number of packets associated to the transfer */
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (hc->xfer_len > 0U)
1484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     num_packets = (uint16_t)((hc->xfer_len + hc->max_packet - 1U) / hc->max_packet);
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (num_packets > max_hc_pkt_count)
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
1489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       num_packets = max_hc_pkt_count;
1490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       hc->xfer_len = (uint32_t)num_packets * hc->max_packet;
1491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
1494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     num_packets = 1U;
1496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (hc->ep_is_in != 0U)
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     hc->xfer_len = (uint32_t)num_packets * hc->max_packet;
1500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Initialize the HCTSIZn register */
1503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HC(ch_num)->HCTSIZ = (hc->xfer_len & USB_OTG_HCTSIZ_XFRSIZ) |
1504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                             (((uint32_t)num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) |
1505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                             (((uint32_t)hc->data_pid << 29) & USB_OTG_HCTSIZ_DPID);
1506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   is_oddframe = (((uint32_t)USBx_HOST->HFNUM & 0x01U) != 0U) ? 0U : 1U;
1508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HC(ch_num)->HCCHAR &= ~USB_OTG_HCCHAR_ODDFRM;
1509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HC(ch_num)->HCCHAR |= (uint32_t)is_oddframe << 29;
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Set host channel enable */
1512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg = USBx_HC(ch_num)->HCCHAR;
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg &= ~USB_OTG_HCCHAR_CHDIS;
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* make sure to set the correct ep direction */
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 28


1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (hc->ep_is_in != 0U)
1517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     tmpreg |= USB_OTG_HCCHAR_EPDIR;
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
1521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     tmpreg &= ~USB_OTG_HCCHAR_EPDIR;
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg |= USB_OTG_HCCHAR_CHENA;
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HC(ch_num)->HCCHAR = tmpreg;
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if ((hc->ep_is_in == 0U) && (hc->xfer_len > 0U))
1528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
1529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       switch (hc->ep_type)
1530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         /* Non periodic transfer */
1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         case EP_TYPE_CTRL:
1533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         case EP_TYPE_BULK:
1534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           len_words = (uint16_t)((hc->xfer_len + 3U) / 4U);
1536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           /* check if there is enough space in FIFO space */
1538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           if (len_words > (USBx->HNPTXSTS & 0xFFFFU))
1539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           {
1540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             /* need to process data in nptxfempty interrupt */
1541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             USBx->GINTMSK |= USB_OTG_GINTMSK_NPTXFEM;
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           }
1543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           break;
1544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         /* Periodic transfer */
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         case EP_TYPE_INTR:
1547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         case EP_TYPE_ISOC:
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           len_words = (uint16_t)((hc->xfer_len + 3U) / 4U);
1549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           /* check if there is enough space in FIFO space */
1550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           if (len_words > (USBx_HOST->HPTXSTS & 0xFFFFU)) /* split the transfer */
1551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           {
1552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             /* need to process data in ptxfempty interrupt */
1553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             USBx->GINTMSK |= USB_OTG_GINTMSK_PTXFEM;
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           }
1555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           break;
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         default:
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           break;
1559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Write packet into the Tx FIFO. */
1562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       (void)USB_WritePacket(USBx, hc->xfer_buff, hc->ch_num, (uint16_t)hc->xfer_len);
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
1564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief Read all host channel interrupts status
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL state
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 29


1573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_HC_ReadInterrupt(USB_OTG_GlobalTypeDef *USBx)
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ((USBx_HOST->HAINT) & 0xFFFFU);
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Halt a host channel
1582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  hc_num  Host Channel number
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         This parameter can be a value from 1 to 15
1585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL state
1586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_HC_Halt(USB_OTG_GlobalTypeDef *USBx, uint8_t hc_num)
1588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t hcnum = (uint32_t)hc_num;
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t count = 0U;
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t HcEpType = (USBx_HC(hcnum)->HCCHAR & USB_OTG_HCCHAR_EPTYP) >> 18;
1593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Check for space in the request queue to issue the halt. */
1595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if ((HcEpType == HCCHAR_CTRL) || (HcEpType == HCCHAR_BULK))
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHDIS;
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if ((USBx->HNPTXSTS & (0xFFU << 16)) == 0U)
1600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
1601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_HC(hcnum)->HCCHAR &= ~USB_OTG_HCCHAR_CHENA;
1602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA;
1603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_HC(hcnum)->HCCHAR &= ~USB_OTG_HCCHAR_EPDIR;
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       do
1605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         if (++count > 1000U)
1607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         {
1608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           break;
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         }
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
1611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       while ((USBx_HC(hcnum)->HCCHAR & USB_OTG_HCCHAR_CHENA) == USB_OTG_HCCHAR_CHENA);
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
1613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
1614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA;
1616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
1617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
1619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHDIS;
1621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if ((USBx_HOST->HPTXSTS & (0xFFU << 16)) == 0U)
1623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_HC(hcnum)->HCCHAR &= ~USB_OTG_HCCHAR_CHENA;
1625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA;
1626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_HC(hcnum)->HCCHAR &= ~USB_OTG_HCCHAR_EPDIR;
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       do
1628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
1629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         if (++count > 1000U)
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 30


1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         {
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****           break;
1632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         }
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
1634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       while ((USBx_HC(hcnum)->HCCHAR & USB_OTG_HCCHAR_CHENA) == USB_OTG_HCCHAR_CHENA);
1635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
1637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
1638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USBx_HC(hcnum)->HCCHAR |= USB_OTG_HCCHAR_CHENA;
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
1640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Initiate Do Ping protocol
1647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  hc_num  Host Channel number
1649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         This parameter can be a value from 1 to 15
1650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL state
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_DoPing(USB_OTG_GlobalTypeDef *USBx, uint8_t ch_num)
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t chnum = (uint32_t)ch_num;
1656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t num_packets = 1U;
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t tmpreg;
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HC(chnum)->HCTSIZ = ((num_packets << 19) & USB_OTG_HCTSIZ_PKTCNT) |
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                            USB_OTG_HCTSIZ_DOPING;
1661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Set host channel enable */
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg = USBx_HC(chnum)->HCCHAR;
1664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg &= ~USB_OTG_HCCHAR_CHDIS;
1665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg |= USB_OTG_HCCHAR_CHENA;
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HC(chnum)->HCCHAR = tmpreg;
1667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Stop Host Core
1673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL state
1675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_StopHost(USB_OTG_GlobalTypeDef *USBx)
1677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t count = 0U;
1680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t value;
1681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t i;
1682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   (void)USB_DisableGlobalInt(USBx);
1684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Flush FIFO */
1686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   (void)USB_FlushTxFifo(USBx, 0x10U);
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 31


1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   (void)USB_FlushRxFifo(USBx);
1688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Flush out any leftover queued requests. */
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   for (i = 0U; i <= 15U; i++)
1691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     value = USBx_HC(i)->HCCHAR;
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     value |=  USB_OTG_HCCHAR_CHDIS;
1694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     value &= ~USB_OTG_HCCHAR_CHENA;
1695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     value &= ~USB_OTG_HCCHAR_EPDIR;
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_HC(i)->HCCHAR = value;
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Halt all channels to put them into a known state. */
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   for (i = 0U; i <= 15U; i++)
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     value = USBx_HC(i)->HCCHAR;
1703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     value |= USB_OTG_HCCHAR_CHDIS;
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     value |= USB_OTG_HCCHAR_CHENA;
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     value &= ~USB_OTG_HCCHAR_EPDIR;
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_HC(i)->HCCHAR = value;
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     do
1709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if (++count > 1000U)
1711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
1712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         break;
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
1714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
1715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     while ((USBx_HC(i)->HCCHAR & USB_OTG_HCCHAR_CHENA) == USB_OTG_HCCHAR_CHENA);
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Clear any pending Host interrupts */
1719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_HOST->HAINT = 0xFFFFFFFFU;
1720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->GINTSTS = 0xFFFFFFFFU;
1721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   (void)USB_EnableGlobalInt(USBx);
1723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ActivateRemoteWakeup active remote wakeup signalling
1729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx Selected device
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateRemoteWakeup(USB_OTG_GlobalTypeDef *USBx)
1733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if ((USBx_DEVICE->DSTS & USB_OTG_DSTS_SUSPSTS) == USB_OTG_DSTS_SUSPSTS)
1737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* active Remote wakeup signalling */
1739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx_DEVICE->DCTL |= USB_OTG_DCTL_RWUSIG;
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 32


1744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_DeActivateRemoteWakeup de-active remote wakeup signalling
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx Selected device
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_DeActivateRemoteWakeup(USB_OTG_GlobalTypeDef *USBx)
1751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
1752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t USBx_BASE = (uint32_t)USBx;
1753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* active Remote wakeup signalling */
1755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx_DEVICE->DCTL &= ~(USB_OTG_DCTL_RWUSIG);
1756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
1759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** #endif /* defined (USB_OTG_FS) */
1760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** #if defined (USB)
1762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Initializes the USB Core
1764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx: USB Instance
1765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  cfg : pointer to a USB_CfgTypeDef structure that contains
1766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         the configuration information for the specified USBx peripheral.
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_CoreInit(USB_TypeDef *USBx, USB_CfgTypeDef cfg)
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
  26              		.loc 1 1770 0
  27              		.cfi_startproc
  28              		@ args = 36, pretend = 16, frame = 0
  29              		@ frame_needed = 0, uses_anonymous_args = 0
  30              		@ link register save eliminated.
  31              	.LVL0:
  32 0000 84B0     		sub	sp, sp, #16
  33              	.LCFI0:
  34              		.cfi_def_cfa_offset 16
  35 0002 01A8     		add	r0, sp, #4
  36              	.LVL1:
  37 0004 80E80E00 		stm	r0, {r1, r2, r3}
1771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
1772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(cfg);
1774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
1778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
  38              		.loc 1 1781 0
  39 0008 0020     		movs	r0, #0
  40 000a 04B0     		add	sp, sp, #16
  41              	.LCFI1:
  42              		.cfi_def_cfa_offset 0
  43 000c 7047     		bx	lr
  44              		.cfi_endproc
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 33


  45              	.LFE65:
  47              		.section	.text.USB_EnableGlobalInt,"ax",%progbits
  48              		.align	1
  49              		.global	USB_EnableGlobalInt
  50              		.syntax unified
  51              		.thumb
  52              		.thumb_func
  53              		.fpu softvfp
  55              	USB_EnableGlobalInt:
  56              	.LFB66:
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_EnableGlobalInt
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         Enables the controller's Global Int in the AHB Config reg
1786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_EnableGlobalInt(USB_TypeDef *USBx)
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
  57              		.loc 1 1790 0
  58              		.cfi_startproc
  59              		@ args = 0, pretend = 0, frame = 0
  60              		@ frame_needed = 0, uses_anonymous_args = 0
  61              		@ link register save eliminated.
  62              	.LVL2:
1791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t winterruptmask;
1792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Set winterruptmask variable */
1794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   winterruptmask = USB_CNTR_CTRM  | USB_CNTR_WKUPM |
1795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                    USB_CNTR_SUSPM | USB_CNTR_ERRM |
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                    USB_CNTR_SOFM | USB_CNTR_ESOFM |
1797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                    USB_CNTR_RESETM;
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Set interrupt mask */
1800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->CNTR |= winterruptmask;
  63              		.loc 1 1800 0
  64 0000 B0F84030 		ldrh	r3, [r0, #64]
  65 0004 43F43F43 		orr	r3, r3, #48896
  66 0008 A0F84030 		strh	r3, [r0, #64]	@ movhi
1801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
  67              		.loc 1 1803 0
  68 000c 0020     		movs	r0, #0
  69              	.LVL3:
  70 000e 7047     		bx	lr
  71              		.cfi_endproc
  72              	.LFE66:
  74              		.section	.text.USB_DisableGlobalInt,"ax",%progbits
  75              		.align	1
  76              		.global	USB_DisableGlobalInt
  77              		.syntax unified
  78              		.thumb
  79              		.thumb_func
  80              		.fpu softvfp
  82              	USB_DisableGlobalInt:
  83              	.LFB67:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 34


1804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_DisableGlobalInt
1807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         Disable the controller's Global Int in the AHB Config reg
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
1809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** */
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_DisableGlobalInt(USB_TypeDef *USBx)
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
  84              		.loc 1 1812 0
  85              		.cfi_startproc
  86              		@ args = 0, pretend = 0, frame = 0
  87              		@ frame_needed = 0, uses_anonymous_args = 0
  88              		@ link register save eliminated.
  89              	.LVL4:
1813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t winterruptmask;
1814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Set winterruptmask variable */
1816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   winterruptmask = USB_CNTR_CTRM  | USB_CNTR_WKUPM |
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                    USB_CNTR_SUSPM | USB_CNTR_ERRM |
1818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                    USB_CNTR_SOFM | USB_CNTR_ESOFM |
1819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****                    USB_CNTR_RESETM;
1820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Clear interrupt mask */
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->CNTR &= ~winterruptmask;
  90              		.loc 1 1822 0
  91 0000 B0F84030 		ldrh	r3, [r0, #64]
  92 0004 23F47C53 		bic	r3, r3, #16128
  93 0008 5B04     		lsls	r3, r3, #17
  94 000a 5B0C     		lsrs	r3, r3, #17
  95 000c A0F84030 		strh	r3, [r0, #64]	@ movhi
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
  96              		.loc 1 1825 0
  97 0010 0020     		movs	r0, #0
  98              	.LVL5:
  99 0012 7047     		bx	lr
 100              		.cfi_endproc
 101              	.LFE67:
 103              		.section	.text.USB_SetCurrentMode,"ax",%progbits
 104              		.align	1
 105              		.global	USB_SetCurrentMode
 106              		.syntax unified
 107              		.thumb
 108              		.thumb_func
 109              		.fpu softvfp
 111              	USB_SetCurrentMode:
 112              	.LFB68:
1826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_SetCurrentMode : Set functional mode
1829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
1830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  mode :  current core mode
1831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be one of the these values:
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *            @arg USB_DEVICE_MODE: Peripheral mode mode
1833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 35


1834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_SetCurrentMode(USB_TypeDef *USBx, USB_ModeTypeDef mode)
1836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 113              		.loc 1 1836 0
 114              		.cfi_startproc
 115              		@ args = 0, pretend = 0, frame = 0
 116              		@ frame_needed = 0, uses_anonymous_args = 0
 117              		@ link register save eliminated.
 118              	.LVL6:
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(mode);
1840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
1842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
1843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
1845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 119              		.loc 1 1846 0
 120 0000 0020     		movs	r0, #0
 121              	.LVL7:
 122 0002 7047     		bx	lr
 123              		.cfi_endproc
 124              	.LFE68:
 126              		.section	.text.USB_DevInit,"ax",%progbits
 127              		.align	1
 128              		.global	USB_DevInit
 129              		.syntax unified
 130              		.thumb
 131              		.thumb_func
 132              		.fpu softvfp
 134              	USB_DevInit:
 135              	.LFB69:
1847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_DevInit : Initializes the USB controller registers
1850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         for device mode
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
1852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  cfg  : pointer to a USB_CfgTypeDef structure that contains
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         the configuration information for the specified USBx peripheral.
1854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_DevInit(USB_TypeDef *USBx, USB_CfgTypeDef cfg)
1857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 136              		.loc 1 1857 0
 137              		.cfi_startproc
 138              		@ args = 36, pretend = 16, frame = 0
 139              		@ frame_needed = 0, uses_anonymous_args = 0
 140              	.LVL8:
 141 0000 84B0     		sub	sp, sp, #16
 142              	.LCFI2:
 143              		.cfi_def_cfa_offset 16
 144 0002 38B5     		push	{r3, r4, r5, lr}
 145              	.LCFI3:
 146              		.cfi_def_cfa_offset 32
 147              		.cfi_offset 3, -32
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 36


 148              		.cfi_offset 4, -28
 149              		.cfi_offset 5, -24
 150              		.cfi_offset 14, -20
 151 0004 05AC     		add	r4, sp, #20
 152 0006 84E80E00 		stm	r4, {r1, r2, r3}
1858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(cfg);
1860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Init Device */
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /*CNTR_FRES = 1*/
1863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->CNTR = USB_CNTR_FRES;
 153              		.loc 1 1863 0
 154 000a 0123     		movs	r3, #1
 155 000c A0F84030 		strh	r3, [r0, #64]	@ movhi
1864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /*CNTR_FRES = 0*/
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->CNTR = 0;
 156              		.loc 1 1866 0
 157 0010 0024     		movs	r4, #0
 158 0012 A0F84040 		strh	r4, [r0, #64]	@ movhi
1867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /*Clear pending interrupts*/
1869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->ISTR = 0;
 159              		.loc 1 1869 0
 160 0016 A0F84440 		strh	r4, [r0, #68]	@ movhi
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /*Set Btable Address*/
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->BTABLE = BTABLE_ADDRESS;
 161              		.loc 1 1872 0
 162 001a A0F85040 		strh	r4, [r0, #80]	@ movhi
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Enable USB Device Interrupt mask */
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   (void)USB_EnableGlobalInt(USBx);
 163              		.loc 1 1875 0
 164 001e FFF7FEFF 		bl	USB_EnableGlobalInt
 165              	.LVL9:
1876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 166              		.loc 1 1878 0
 167 0022 2046     		mov	r0, r4
 168 0024 BDE83840 		pop	{r3, r4, r5, lr}
 169              	.LCFI4:
 170              		.cfi_restore 14
 171              		.cfi_restore 5
 172              		.cfi_restore 4
 173              		.cfi_restore 3
 174              		.cfi_def_cfa_offset 16
 175 0028 04B0     		add	sp, sp, #16
 176              	.LCFI5:
 177              		.cfi_def_cfa_offset 0
 178 002a 7047     		bx	lr
 179              		.cfi_endproc
 180              	.LFE69:
 182              		.section	.text.USB_SetDevSpeed,"ax",%progbits
 183              		.align	1
 184              		.global	USB_SetDevSpeed
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 37


 185              		.syntax unified
 186              		.thumb
 187              		.thumb_func
 188              		.fpu softvfp
 190              	USB_SetDevSpeed:
 191              	.LFB70:
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_SetDevSpeed :Initializes the device speed
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         depending on the PHY type and the enumeration speed of the device.
1883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
1884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  speed  device speed
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval  Hal status
1886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_SetDevSpeed(USB_TypeDef *USBx, uint8_t speed)
1888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 192              		.loc 1 1888 0
 193              		.cfi_startproc
 194              		@ args = 0, pretend = 0, frame = 0
 195              		@ frame_needed = 0, uses_anonymous_args = 0
 196              		@ link register save eliminated.
 197              	.LVL10:
1889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
1890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
1891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(speed);
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
1896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
1897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 198              		.loc 1 1899 0
 199 0000 0020     		movs	r0, #0
 200              	.LVL11:
 201 0002 7047     		bx	lr
 202              		.cfi_endproc
 203              	.LFE70:
 205              		.section	.text.USB_FlushTxFifo,"ax",%progbits
 206              		.align	1
 207              		.global	USB_FlushTxFifo
 208              		.syntax unified
 209              		.thumb
 210              		.thumb_func
 211              		.fpu softvfp
 213              	USB_FlushTxFifo:
 214              	.LFB71:
1900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_FlushTxFifo : Flush a Tx FIFO
1903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
1904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  num : FIFO number
1905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         This parameter can be a value from 1 to 15
1906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             15 means Flush all Tx FIFOs
1907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 38


1909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushTxFifo(USB_TypeDef *USBx, uint32_t num)
1910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 215              		.loc 1 1910 0
 216              		.cfi_startproc
 217              		@ args = 0, pretend = 0, frame = 0
 218              		@ frame_needed = 0, uses_anonymous_args = 0
 219              		@ link register save eliminated.
 220              	.LVL12:
1911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
1912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(num);
1914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
1916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
1918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
1919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 221              		.loc 1 1921 0
 222 0000 0020     		movs	r0, #0
 223              	.LVL13:
 224 0002 7047     		bx	lr
 225              		.cfi_endproc
 226              	.LFE71:
 228              		.section	.text.USB_FlushRxFifo,"ax",%progbits
 229              		.align	1
 230              		.global	USB_FlushRxFifo
 231              		.syntax unified
 232              		.thumb
 233              		.thumb_func
 234              		.fpu softvfp
 236              	USB_FlushRxFifo:
 237              	.LFB72:
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_FlushRxFifo : Flush Rx FIFO
1925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
1926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushRxFifo(USB_TypeDef *USBx)
1929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 238              		.loc 1 1929 0
 239              		.cfi_startproc
 240              		@ args = 0, pretend = 0, frame = 0
 241              		@ frame_needed = 0, uses_anonymous_args = 0
 242              		@ link register save eliminated.
 243              	.LVL14:
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
1931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
1932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
1936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
1937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 39


1939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 244              		.loc 1 1939 0
 245 0000 0020     		movs	r0, #0
 246              	.LVL15:
 247 0002 7047     		bx	lr
 248              		.cfi_endproc
 249              	.LFE72:
 251              		.section	.text.USB_ActivateEndpoint,"ax",%progbits
 252              		.align	1
 253              		.global	USB_ActivateEndpoint
 254              		.syntax unified
 255              		.thumb
 256              		.thumb_func
 257              		.fpu softvfp
 259              	USB_ActivateEndpoint:
 260              	.LFB73:
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
1942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Activate and configure an endpoint
1943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
1944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep: pointer to endpoint structure
1945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
1946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
1947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep)
1948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 261              		.loc 1 1948 0
 262              		.cfi_startproc
 263              		@ args = 0, pretend = 0, frame = 0
 264              		@ frame_needed = 0, uses_anonymous_args = 0
 265              		@ link register save eliminated.
 266              	.LVL16:
 267 0000 30B4     		push	{r4, r5}
 268              	.LCFI6:
 269              		.cfi_def_cfa_offset 8
 270              		.cfi_offset 4, -8
 271              		.cfi_offset 5, -4
 272 0002 0346     		mov	r3, r0
 273              	.LVL17:
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_StatusTypeDef ret = HAL_OK;
1950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t wEpRegVal;
1951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   wEpRegVal = PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_T_MASK;
 274              		.loc 1 1952 0
 275 0004 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 276 0006 30F82420 		ldrh	r2, [r0, r4, lsl #2]
 277 000a 92B2     		uxth	r2, r2
 278 000c 22F4EC42 		bic	r2, r2, #30208
 279 0010 22F07002 		bic	r2, r2, #112
 280 0014 92B2     		uxth	r2, r2
 281              	.LVL18:
1953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* initialize Endpoint */
1955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   switch (ep->type)
 282              		.loc 1 1955 0
 283 0016 C878     		ldrb	r0, [r1, #3]	@ zero_extendqisi2
 284              	.LVL19:
 285 0018 0328     		cmp	r0, #3
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 40


 286 001a 5AD8     		bhi	.L36
 287 001c DFE800F0 		tbb	[pc, r0]
 288              	.L14:
 289 0020 4D       		.byte	(.L13-.L14)/2
 290 0021 55       		.byte	(.L15-.L14)/2
 291 0022 02       		.byte	(.L16-.L14)/2
 292 0023 51       		.byte	(.L17-.L14)/2
 293              		.p2align 1
 294              	.L16:
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   HAL_StatusTypeDef ret = HAL_OK;
 295              		.loc 1 1949 0
 296 0024 0020     		movs	r0, #0
 297              	.L12:
 298              	.LVL20:
1956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     case EP_TYPE_CTRL:
1958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       wEpRegVal |= USB_EP_CONTROL;
1959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     case EP_TYPE_BULK:
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       wEpRegVal |= USB_EP_BULK;
1963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
1964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     case EP_TYPE_INTR:
1966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       wEpRegVal |= USB_EP_INTERRUPT;
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
1968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     case EP_TYPE_ISOC:
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       wEpRegVal |= USB_EP_ISOCHRONOUS;
1971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
1972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     default:
1974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       ret = HAL_ERROR;
1975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
1976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
1977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   PCD_SET_ENDPOINT(USBx, ep->num, wEpRegVal | USB_EP_CTR_RX | USB_EP_CTR_TX);
 299              		.loc 1 1978 0
 300 0026 48F28005 		movw	r5, #32896
 301 002a 2A43     		orrs	r2, r2, r5
 302              	.LVL21:
 303 002c 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 304              	.LBB2:
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   PCD_SET_EP_ADDRESS(USBx, ep->num, ep->num);
 305              		.loc 1 1980 0
 306 0030 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 307 0032 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 308 0036 92B2     		uxth	r2, r2
 309 0038 22F4E042 		bic	r2, r2, #28672
 310 003c 22F07002 		bic	r2, r2, #112
 311 0040 2243     		orrs	r2, r2, r4
 312              	.LVL22:
 313 0042 2A43     		orrs	r2, r2, r5
 314              	.LVL23:
 315 0044 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 316              	.LBE2:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 41


1981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->doublebuffer == 0U)
 317              		.loc 1 1982 0
 318 0048 0A7B     		ldrb	r2, [r1, #12]	@ zero_extendqisi2
 319 004a 002A     		cmp	r2, #0
 320 004c 40F0B180 		bne	.L18
1983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
1984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->is_in != 0U)
 321              		.loc 1 1984 0
 322 0050 4A78     		ldrb	r2, [r1, #1]	@ zero_extendqisi2
 323 0052 002A     		cmp	r2, #0
 324 0054 4ED0     		beq	.L19
 325              	.LVL24:
 326              	.LBB3:
1985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /*Set the endpoint Transmit buffer address */
1987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_TX_ADDRESS(USBx, ep->num, ep->pmaadress);
 327              		.loc 1 1987 0
 328 0056 B3F85020 		ldrh	r2, [r3, #80]
 329 005a 1A44     		add	r2, r2, r3
 330              	.LVL25:
 331 005c 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 332 005e 02EB0412 		add	r2, r2, r4, lsl #4
 333              	.LVL26:
 334 0062 CC88     		ldrh	r4, [r1, #6]
 335 0064 6408     		lsrs	r4, r4, #1
 336 0066 6400     		lsls	r4, r4, #1
 337 0068 A2F80044 		strh	r4, [r2, #1024]	@ movhi
 338              	.LBE3:
 339              	.LBB4:
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
 340              		.loc 1 1988 0
 341 006c 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 342 006e 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 343              	.LVL27:
 344 0072 12F0400F 		tst	r2, #64
 345 0076 0CD0     		beq	.L20
 346              	.LBB5:
 347              		.loc 1 1988 0 is_stmt 0 discriminator 1
 348 0078 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 349              	.LVL28:
 350 007c 92B2     		uxth	r2, r2
 351 007e 22F4E042 		bic	r2, r2, #28672
 352 0082 22F07002 		bic	r2, r2, #112
 353              	.LVL29:
 354 0086 42F40042 		orr	r2, r2, #32768
 355              	.LVL30:
 356 008a 42F0C002 		orr	r2, r2, #192
 357 008e 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 358              	.L20:
 359              	.LBE5:
 360              	.LBE4:
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if (ep->type != EP_TYPE_ISOC)
 361              		.loc 1 1990 0 is_stmt 1
 362 0092 CA78     		ldrb	r2, [r1, #3]	@ zero_extendqisi2
 363 0094 012A     		cmp	r2, #1
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 42


 364 0096 1ED0     		beq	.L21
 365              	.LBB6:
1991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
1992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         /* Configure NAK status for the Endpoint */
1993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK);
 366              		.loc 1 1993 0
 367 0098 0978     		ldrb	r1, [r1]	@ zero_extendqisi2
 368              	.LVL31:
 369 009a 33F82120 		ldrh	r2, [r3, r1, lsl #2]
 370 009e 92B2     		uxth	r2, r2
 371 00a0 22F4E042 		bic	r2, r2, #28672
 372 00a4 22F04002 		bic	r2, r2, #64
 373              	.LVL32:
 374 00a8 82F02002 		eor	r2, r2, #32
 375              	.LVL33:
 376 00ac 42F40042 		orr	r2, r2, #32768
 377              	.LVL34:
 378 00b0 42F08002 		orr	r2, r2, #128
 379 00b4 23F82120 		strh	r2, [r3, r1, lsl #2]	@ movhi
 380              	.LBE6:
 381 00b8 60E0     		b	.L22
 382              	.LVL35:
 383              	.L13:
1958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
 384              		.loc 1 1958 0
 385 00ba 42F40072 		orr	r2, r2, #512
 386              	.LVL36:
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t wEpRegVal;
 387              		.loc 1 1949 0
 388 00be 0020     		movs	r0, #0
1959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 389              		.loc 1 1959 0
 390 00c0 B1E7     		b	.L12
 391              	.L17:
1966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
 392              		.loc 1 1966 0
 393 00c2 42F4C062 		orr	r2, r2, #1536
 394              	.LVL37:
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t wEpRegVal;
 395              		.loc 1 1949 0
 396 00c6 0020     		movs	r0, #0
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 397              		.loc 1 1967 0
 398 00c8 ADE7     		b	.L12
 399              	.L15:
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
 400              		.loc 1 1970 0
 401 00ca 42F48062 		orr	r2, r2, #1024
 402              	.LVL38:
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t wEpRegVal;
 403              		.loc 1 1949 0
 404 00ce 0020     		movs	r0, #0
1971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 405              		.loc 1 1971 0
 406 00d0 A9E7     		b	.L12
 407              	.L36:
1974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       break;
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 43


 408              		.loc 1 1974 0
 409 00d2 0120     		movs	r0, #1
 410 00d4 A7E7     		b	.L12
 411              	.LVL39:
 412              	.L21:
 413              	.LBB7:
1994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
1995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       else
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
1997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         /* Configure TX Endpoint to disabled state */
1998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
 414              		.loc 1 1998 0
 415 00d6 0978     		ldrb	r1, [r1]	@ zero_extendqisi2
 416              	.LVL40:
 417 00d8 33F82120 		ldrh	r2, [r3, r1, lsl #2]
 418 00dc 92B2     		uxth	r2, r2
 419 00de 22F4E042 		bic	r2, r2, #28672
 420 00e2 22F04002 		bic	r2, r2, #64
 421              	.LVL41:
 422 00e6 42F40042 		orr	r2, r2, #32768
 423              	.LVL42:
 424 00ea 42F08002 		orr	r2, r2, #128
 425 00ee 23F82120 		strh	r2, [r3, r1, lsl #2]	@ movhi
 426 00f2 43E0     		b	.L22
 427              	.LVL43:
 428              	.L19:
 429              	.LBE7:
 430              	.LBB8:
1999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
2000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /*Set the endpoint Receive buffer address */
2004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_RX_ADDRESS(USBx, ep->num, ep->pmaadress);
 431              		.loc 1 2004 0
 432 00f4 B3F85020 		ldrh	r2, [r3, #80]
 433 00f8 1A44     		add	r2, r2, r3
 434              	.LVL44:
 435 00fa 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 436 00fc 02EB0412 		add	r2, r2, r4, lsl #4
 437              	.LVL45:
 438 0100 CC88     		ldrh	r4, [r1, #6]
 439 0102 6408     		lsrs	r4, r4, #1
 440 0104 6400     		lsls	r4, r4, #1
 441 0106 A2F80844 		strh	r4, [r2, #1032]	@ movhi
 442              	.LVL46:
 443              	.LBE8:
 444              	.LBB9:
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /*Set the endpoint Receive buffer counter*/
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_RX_CNT(USBx, ep->num, ep->maxpacket);
 445              		.loc 1 2006 0
 446 010a B3F85020 		ldrh	r2, [r3, #80]
 447              	.LVL47:
 448 010e 1A44     		add	r2, r2, r3
 449              	.LVL48:
 450 0110 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 451 0112 02EB0412 		add	r2, r2, r4, lsl #4
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 44


 452              	.LVL49:
 453              	.LBB10:
 454 0116 0C69     		ldr	r4, [r1, #16]
 455 0118 94BB     		cbnz	r4, .L23
 456              		.loc 1 2006 0 is_stmt 0 discriminator 1
 457 011a B2F80C44 		ldrh	r4, [r2, #1036]
 458 011e A4B2     		uxth	r4, r4
 459 0120 24F4F844 		bic	r4, r4, #31744
 460 0124 A4B2     		uxth	r4, r4
 461 0126 A2F80C44 		strh	r4, [r2, #1036]	@ movhi
 462 012a B2F80C44 		ldrh	r4, [r2, #1036]
 463 012e 44F40044 		orr	r4, r4, #32768
 464 0132 A2F80C44 		strh	r4, [r2, #1036]	@ movhi
 465              	.L24:
 466              	.LBE10:
 467              	.LBE9:
 468              	.LBB12:
2007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
 469              		.loc 1 2007 0 is_stmt 1
 470 0136 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 471 0138 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 472              	.LVL50:
 473 013c 12F4804F 		tst	r2, #16384
 474 0140 0CD0     		beq	.L28
 475              	.LBB13:
 476              		.loc 1 2007 0 is_stmt 0 discriminator 1
 477 0142 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 478              	.LVL51:
 479 0146 92B2     		uxth	r2, r2
 480 0148 22F4E042 		bic	r2, r2, #28672
 481 014c 22F07002 		bic	r2, r2, #112
 482              	.LVL52:
 483 0150 42F44042 		orr	r2, r2, #49152
 484              	.LVL53:
 485 0154 42F08002 		orr	r2, r2, #128
 486 0158 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 487              	.L28:
 488              	.LBE13:
 489              	.LBE12:
 490              	.LBB14:
2008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Configure VALID status for the Endpoint*/
2009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
 491              		.loc 1 2009 0 is_stmt 1
 492 015c 0978     		ldrb	r1, [r1]	@ zero_extendqisi2
 493              	.LVL54:
 494 015e 33F82120 		ldrh	r2, [r3, r1, lsl #2]
 495 0162 92B2     		uxth	r2, r2
 496 0164 22F48042 		bic	r2, r2, #16384
 497 0168 22F07002 		bic	r2, r2, #112
 498              	.LVL55:
 499 016c 82F44052 		eor	r2, r2, #12288
 500              	.LVL56:
 501 0170 42F40042 		orr	r2, r2, #32768
 502              	.LVL57:
 503 0174 42F08002 		orr	r2, r2, #128
 504 0178 23F82120 		strh	r2, [r3, r1, lsl #2]	@ movhi
 505              	.L22:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 45


 506              	.LBE14:
2010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /*Double Buffer*/
2013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
2015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Set the endpoint as double buffered */
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     PCD_SET_EP_DBUF(USBx, ep->num);
2017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Set buffer address for double buffered mode */
2018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     PCD_SET_EP_DBUF_ADDR(USBx, ep->num, ep->pmaaddr0, ep->pmaaddr1);
2019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->is_in == 0U)
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Clear the data toggle bits for the endpoint IN/OUT */
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Reset value of the data toggle bits for the endpoint out */
2027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_TX_DTOG(USBx, ep->num);
2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
2030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
2033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Clear the data toggle bits for the endpoint IN/OUT */
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
2037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_RX_DTOG(USBx, ep->num);
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if (ep->type != EP_TYPE_ISOC)
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
2041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         /* Configure NAK status for the Endpoint */
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK);
2043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
2044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       else
2045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
2046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         /* Configure TX Endpoint to disabled state */
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
2048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
2049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
2051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ret;
2055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 507              		.loc 1 2055 0
 508 017c 30BC     		pop	{r4, r5}
 509              	.LCFI7:
 510              		.cfi_remember_state
 511              		.cfi_restore 5
 512              		.cfi_restore 4
 513              		.cfi_def_cfa_offset 0
 514 017e 7047     		bx	lr
 515              	.LVL58:
 516              	.L23:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 46


 517              	.LCFI8:
 518              		.cfi_restore_state
 519              	.LBB15:
 520              	.LBB11:
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
 521              		.loc 1 2006 0 discriminator 2
 522 0180 3E2C     		cmp	r4, #62
 523 0182 09D8     		bhi	.L25
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
 524              		.loc 1 2006 0 is_stmt 0 discriminator 3
 525 0184 6508     		lsrs	r5, r4, #1
 526              	.LVL59:
 527 0186 14F0010F 		tst	r4, #1
 528 018a 00D0     		beq	.L26
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
 529              		.loc 1 2006 0 discriminator 5
 530 018c 0135     		adds	r5, r5, #1
 531              	.LVL60:
 532              	.L26:
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
 533              		.loc 1 2006 0 discriminator 7
 534 018e AD02     		lsls	r5, r5, #10
 535              	.LVL61:
 536 0190 ADB2     		uxth	r5, r5
 537 0192 A2F80C54 		strh	r5, [r2, #1036]	@ movhi
 538 0196 CEE7     		b	.L24
 539              	.L25:
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
 540              		.loc 1 2006 0 discriminator 4
 541 0198 6509     		lsrs	r5, r4, #5
 542              	.LVL62:
 543 019a 14F01F0F 		tst	r4, #31
 544 019e 00D1     		bne	.L27
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
 545              		.loc 1 2006 0 discriminator 8
 546 01a0 013D     		subs	r5, r5, #1
 547              	.LVL63:
 548              	.L27:
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
 549              		.loc 1 2006 0 discriminator 10
 550 01a2 6FEAC564 		mvn	r4, r5, lsl #27
 551 01a6 6FEA5444 		mvn	r4, r4, lsr #17
 552 01aa A4B2     		uxth	r4, r4
 553 01ac A2F80C44 		strh	r4, [r2, #1036]	@ movhi
 554 01b0 C1E7     		b	.L24
 555              	.LVL64:
 556              	.L18:
 557              	.LBE11:
 558              	.LBE15:
 559              	.LBB16:
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Set buffer address for double buffered mode */
 560              		.loc 1 2016 0 is_stmt 1
 561 01b2 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 562 01b4 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 563 01b8 92B2     		uxth	r2, r2
 564 01ba 22F4E042 		bic	r2, r2, #28672
 565 01be 22F07002 		bic	r2, r2, #112
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 47


 566              	.LVL65:
 567 01c2 42F40142 		orr	r2, r2, #33024
 568              	.LVL66:
 569 01c6 42F08002 		orr	r2, r2, #128
 570 01ca 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 571              	.LVL67:
 572              	.LBE16:
 573              	.LBB17:
2018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 574              		.loc 1 2018 0
 575 01ce B3F85020 		ldrh	r2, [r3, #80]
 576 01d2 1A44     		add	r2, r2, r3
 577              	.LVL68:
 578 01d4 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 579 01d6 02EB0412 		add	r2, r2, r4, lsl #4
 580              	.LVL69:
 581 01da 0C89     		ldrh	r4, [r1, #8]
 582 01dc 6408     		lsrs	r4, r4, #1
 583 01de 6400     		lsls	r4, r4, #1
 584 01e0 A2F80044 		strh	r4, [r2, #1024]	@ movhi
 585              	.LVL70:
 586              	.LBE17:
 587              	.LBB18:
 588 01e4 B3F85020 		ldrh	r2, [r3, #80]
 589              	.LVL71:
 590 01e8 1A44     		add	r2, r2, r3
 591              	.LVL72:
 592 01ea 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 593 01ec 02EB0412 		add	r2, r2, r4, lsl #4
 594              	.LVL73:
 595 01f0 4C89     		ldrh	r4, [r1, #10]
 596 01f2 6408     		lsrs	r4, r4, #1
 597 01f4 6400     		lsls	r4, r4, #1
 598 01f6 A2F80844 		strh	r4, [r2, #1032]	@ movhi
 599              	.LBE18:
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 600              		.loc 1 2020 0
 601 01fa 4A78     		ldrb	r2, [r1, #1]	@ zero_extendqisi2
 602              	.LVL74:
 603 01fc 002A     		cmp	r2, #0
 604 01fe 4ED1     		bne	.L29
 605              	.LBB19:
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
 606              		.loc 1 2023 0
 607 0200 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 608 0202 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 609              	.LVL75:
 610 0206 12F4804F 		tst	r2, #16384
 611 020a 0CD0     		beq	.L30
 612              	.LBB20:
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
 613              		.loc 1 2023 0 is_stmt 0 discriminator 1
 614 020c 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 615              	.LVL76:
 616 0210 92B2     		uxth	r2, r2
 617 0212 22F4E042 		bic	r2, r2, #28672
 618 0216 22F07002 		bic	r2, r2, #112
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 48


 619              	.LVL77:
 620 021a 42F44042 		orr	r2, r2, #49152
 621              	.LVL78:
 622 021e 42F08002 		orr	r2, r2, #128
 623 0222 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 624              	.L30:
 625              	.LBE20:
 626              	.LBE19:
 627              	.LBB21:
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 628              		.loc 1 2024 0 is_stmt 1
 629 0226 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 630 0228 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 631              	.LVL79:
 632 022c 12F0400F 		tst	r2, #64
 633 0230 0CD0     		beq	.L31
 634              	.LBB22:
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 635              		.loc 1 2024 0 is_stmt 0 discriminator 1
 636 0232 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 637              	.LVL80:
 638 0236 92B2     		uxth	r2, r2
 639 0238 22F4E042 		bic	r2, r2, #28672
 640 023c 22F07002 		bic	r2, r2, #112
 641              	.LVL81:
 642 0240 42F40042 		orr	r2, r2, #32768
 643              	.LVL82:
 644 0244 42F0C002 		orr	r2, r2, #192
 645 0248 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 646              	.L31:
 647              	.LBE22:
 648              	.LBE21:
 649              	.LBB23:
2027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 650              		.loc 1 2027 0 is_stmt 1
 651 024c 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 652 024e 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 653 0252 92B2     		uxth	r2, r2
 654 0254 22F4E042 		bic	r2, r2, #28672
 655 0258 22F07002 		bic	r2, r2, #112
 656              	.LVL83:
 657 025c 42F40042 		orr	r2, r2, #32768
 658              	.LVL84:
 659 0260 42F0C002 		orr	r2, r2, #192
 660 0264 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 661              	.LBE23:
 662              	.LBB24:
2029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
 663              		.loc 1 2029 0
 664 0268 0D78     		ldrb	r5, [r1]	@ zero_extendqisi2
 665 026a 33F82520 		ldrh	r2, [r3, r5, lsl #2]
 666 026e 92B2     		uxth	r2, r2
 667 0270 22F48042 		bic	r2, r2, #16384
 668 0274 22F07002 		bic	r2, r2, #112
 669              	.LVL85:
 670 0278 82F44052 		eor	r2, r2, #12288
 671              	.LVL86:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 49


 672 027c 48F28004 		movw	r4, #32896
 673 0280 2243     		orrs	r2, r2, r4
 674              	.LVL87:
 675 0282 23F82520 		strh	r2, [r3, r5, lsl #2]	@ movhi
 676              	.LBE24:
 677              	.LBB25:
2030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 678              		.loc 1 2030 0
 679 0286 0978     		ldrb	r1, [r1]	@ zero_extendqisi2
 680              	.LVL88:
 681 0288 33F82120 		ldrh	r2, [r3, r1, lsl #2]
 682 028c 92B2     		uxth	r2, r2
 683 028e 22F4E042 		bic	r2, r2, #28672
 684 0292 22F04002 		bic	r2, r2, #64
 685              	.LVL89:
 686 0296 2243     		orrs	r2, r2, r4
 687              	.LVL90:
 688 0298 23F82120 		strh	r2, [r3, r1, lsl #2]	@ movhi
 689              	.LBE25:
 690 029c 6EE7     		b	.L22
 691              	.LVL91:
 692              	.L29:
 693              	.LBB26:
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
 694              		.loc 1 2035 0
 695 029e 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 696 02a0 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 697              	.LVL92:
 698 02a4 12F4804F 		tst	r2, #16384
 699 02a8 0CD0     		beq	.L32
 700              	.LBB27:
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
 701              		.loc 1 2035 0 is_stmt 0 discriminator 1
 702 02aa 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 703              	.LVL93:
 704 02ae 92B2     		uxth	r2, r2
 705 02b0 22F4E042 		bic	r2, r2, #28672
 706 02b4 22F07002 		bic	r2, r2, #112
 707              	.LVL94:
 708 02b8 42F44042 		orr	r2, r2, #49152
 709              	.LVL95:
 710 02bc 42F08002 		orr	r2, r2, #128
 711 02c0 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 712              	.L32:
 713              	.LBE27:
 714              	.LBE26:
 715              	.LBB28:
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_RX_DTOG(USBx, ep->num);
 716              		.loc 1 2036 0 is_stmt 1
 717 02c4 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 718 02c6 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 719              	.LVL96:
 720 02ca 12F0400F 		tst	r2, #64
 721 02ce 0CD0     		beq	.L33
 722              	.LBB29:
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_RX_DTOG(USBx, ep->num);
 723              		.loc 1 2036 0 is_stmt 0 discriminator 1
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 50


 724 02d0 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 725              	.LVL97:
 726 02d4 92B2     		uxth	r2, r2
 727 02d6 22F4E042 		bic	r2, r2, #28672
 728 02da 22F07002 		bic	r2, r2, #112
 729              	.LVL98:
 730 02de 42F40042 		orr	r2, r2, #32768
 731              	.LVL99:
 732 02e2 42F0C002 		orr	r2, r2, #192
 733 02e6 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 734              	.L33:
 735              	.LBE29:
 736              	.LBE28:
 737              	.LBB30:
2037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 738              		.loc 1 2037 0 is_stmt 1
 739 02ea 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 740 02ec 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 741 02f0 92B2     		uxth	r2, r2
 742 02f2 22F4E042 		bic	r2, r2, #28672
 743 02f6 22F07002 		bic	r2, r2, #112
 744              	.LVL100:
 745 02fa 42F44042 		orr	r2, r2, #49152
 746              	.LVL101:
 747 02fe 42F08002 		orr	r2, r2, #128
 748 0302 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 749              	.LBE30:
2039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 750              		.loc 1 2039 0
 751 0306 CA78     		ldrb	r2, [r1, #3]	@ zero_extendqisi2
 752 0308 012A     		cmp	r2, #1
 753 030a 1ED0     		beq	.L34
 754              	.LBB31:
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 755              		.loc 1 2042 0
 756 030c 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 757 030e 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 758 0312 92B2     		uxth	r2, r2
 759 0314 22F4E042 		bic	r2, r2, #28672
 760 0318 22F04002 		bic	r2, r2, #64
 761              	.LVL102:
 762 031c 82F02002 		eor	r2, r2, #32
 763              	.LVL103:
 764 0320 42F40042 		orr	r2, r2, #32768
 765              	.LVL104:
 766 0324 42F08002 		orr	r2, r2, #128
 767 0328 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 768              	.L35:
 769              	.LBE31:
 770              	.LBB32:
2050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 771              		.loc 1 2050 0
 772 032c 0978     		ldrb	r1, [r1]	@ zero_extendqisi2
 773              	.LVL105:
 774 032e 33F82120 		ldrh	r2, [r3, r1, lsl #2]
 775 0332 92B2     		uxth	r2, r2
 776 0334 22F48042 		bic	r2, r2, #16384
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 51


 777 0338 22F07002 		bic	r2, r2, #112
 778              	.LVL106:
 779 033c 42F40042 		orr	r2, r2, #32768
 780              	.LVL107:
 781 0340 42F08002 		orr	r2, r2, #128
 782 0344 23F82120 		strh	r2, [r3, r1, lsl #2]	@ movhi
 783 0348 18E7     		b	.L22
 784              	.LVL108:
 785              	.L34:
 786              	.LBE32:
 787              	.LBB33:
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 788              		.loc 1 2047 0
 789 034a 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 790 034c 33F82420 		ldrh	r2, [r3, r4, lsl #2]
 791 0350 92B2     		uxth	r2, r2
 792 0352 22F4E042 		bic	r2, r2, #28672
 793 0356 22F04002 		bic	r2, r2, #64
 794              	.LVL109:
 795 035a 42F40042 		orr	r2, r2, #32768
 796              	.LVL110:
 797 035e 42F08002 		orr	r2, r2, #128
 798 0362 23F82420 		strh	r2, [r3, r4, lsl #2]	@ movhi
 799 0366 E1E7     		b	.L35
 800              	.LBE33:
 801              		.cfi_endproc
 802              	.LFE73:
 804              		.section	.text.USB_DeactivateEndpoint,"ax",%progbits
 805              		.align	1
 806              		.global	USB_DeactivateEndpoint
 807              		.syntax unified
 808              		.thumb
 809              		.thumb_func
 810              		.fpu softvfp
 812              	USB_DeactivateEndpoint:
 813              	.LFB74:
2056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  De-activate and de-initialize an endpoint
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep: pointer to endpoint structure
2061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_DeactivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep)
2064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 814              		.loc 1 2064 0
 815              		.cfi_startproc
 816              		@ args = 0, pretend = 0, frame = 0
 817              		@ frame_needed = 0, uses_anonymous_args = 0
 818              		@ link register save eliminated.
 819              	.LVL111:
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->doublebuffer == 0U)
 820              		.loc 1 2065 0
 821 0000 0B7B     		ldrb	r3, [r1, #12]	@ zero_extendqisi2
 822 0002 002B     		cmp	r3, #0
 823 0004 46D1     		bne	.L39
2066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 52


2067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->is_in != 0U)
 824              		.loc 1 2067 0
 825 0006 4B78     		ldrb	r3, [r1, #1]	@ zero_extendqisi2
 826 0008 13B3     		cbz	r3, .L40
 827              	.LBB34:
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
 828              		.loc 1 2069 0
 829 000a 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 830 000c 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 831              	.LVL112:
 832 0010 13F0400F 		tst	r3, #64
 833 0014 0CD0     		beq	.L41
 834              	.LBB35:
 835              		.loc 1 2069 0 is_stmt 0 discriminator 1
 836 0016 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 837              	.LVL113:
 838 001a 9BB2     		uxth	r3, r3
 839 001c 23F4E043 		bic	r3, r3, #28672
 840 0020 23F07003 		bic	r3, r3, #112
 841              	.LVL114:
 842 0024 43F40043 		orr	r3, r3, #32768
 843              	.LVL115:
 844 0028 43F0C003 		orr	r3, r3, #192
 845 002c 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 846              	.L41:
 847              	.LBE35:
 848              	.LBE34:
 849              	.LBB36:
2070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Configure DISABLE status for the Endpoint*/
2071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
 850              		.loc 1 2071 0 is_stmt 1
 851 0030 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 852 0032 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 853 0036 9BB2     		uxth	r3, r3
 854 0038 23F4E043 		bic	r3, r3, #28672
 855 003c 23F04003 		bic	r3, r3, #64
 856              	.LVL116:
 857 0040 43F40043 		orr	r3, r3, #32768
 858              	.LVL117:
 859 0044 43F08003 		orr	r3, r3, #128
 860 0048 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 861              	.L50:
 862              	.LBE36:
2072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
2074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
2076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Configure DISABLE status for the Endpoint*/
2077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
2078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /*Double Buffer*/
2081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
2082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
2083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->is_in == 0U)
2084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 53


2085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Clear the data toggle bits for the endpoint IN/OUT*/
2086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
2087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
2088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Reset value of the data toggle bits for the endpoint out*/
2090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_TX_DTOG(USBx, ep->num);
2091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
2093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
2094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
2096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Clear the data toggle bits for the endpoint IN/OUT*/
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
2099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
2100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_RX_DTOG(USBx, ep->num);
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Configure DISABLE status for the Endpoint*/
2102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
2103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
2104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 863              		.loc 1 2108 0
 864 004c 0020     		movs	r0, #0
 865              	.LVL118:
 866 004e 7047     		bx	lr
 867              	.LVL119:
 868              	.L40:
 869              	.LBB37:
2075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Configure DISABLE status for the Endpoint*/
 870              		.loc 1 2075 0
 871 0050 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 872 0052 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 873              	.LVL120:
 874 0056 13F4804F 		tst	r3, #16384
 875 005a 0CD0     		beq	.L43
 876              	.LBB38:
2075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Configure DISABLE status for the Endpoint*/
 877              		.loc 1 2075 0 is_stmt 0 discriminator 1
 878 005c 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 879              	.LVL121:
 880 0060 9BB2     		uxth	r3, r3
 881 0062 23F4E043 		bic	r3, r3, #28672
 882 0066 23F07003 		bic	r3, r3, #112
 883              	.LVL122:
 884 006a 43F44043 		orr	r3, r3, #49152
 885              	.LVL123:
 886 006e 43F08003 		orr	r3, r3, #128
 887 0072 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 888              	.L43:
 889              	.LBE38:
 890              	.LBE37:
 891              	.LBB39:
2077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 892              		.loc 1 2077 0 is_stmt 1
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 54


 893 0076 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 894 0078 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 895 007c 9BB2     		uxth	r3, r3
 896 007e 23F48043 		bic	r3, r3, #16384
 897 0082 23F07003 		bic	r3, r3, #112
 898              	.LVL124:
 899 0086 43F40043 		orr	r3, r3, #32768
 900              	.LVL125:
 901 008a 43F08003 		orr	r3, r3, #128
 902 008e 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 903 0092 DBE7     		b	.L50
 904              	.L39:
 905              	.LBE39:
2064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->doublebuffer == 0U)
 906              		.loc 1 2064 0
 907 0094 10B4     		push	{r4}
 908              	.LCFI9:
 909              		.cfi_def_cfa_offset 4
 910              		.cfi_offset 4, -4
2083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 911              		.loc 1 2083 0
 912 0096 4B78     		ldrb	r3, [r1, #1]	@ zero_extendqisi2
 913 0098 002B     		cmp	r3, #0
 914 009a 4ED1     		bne	.L44
 915              	.LBB40:
2086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
 916              		.loc 1 2086 0
 917 009c 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 918 009e 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 919              	.LVL126:
 920 00a2 13F4804F 		tst	r3, #16384
 921 00a6 0CD0     		beq	.L45
 922              	.LBB41:
2086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
 923              		.loc 1 2086 0 is_stmt 0 discriminator 1
 924 00a8 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 925              	.LVL127:
 926 00ac 9BB2     		uxth	r3, r3
 927 00ae 23F4E043 		bic	r3, r3, #28672
 928 00b2 23F07003 		bic	r3, r3, #112
 929              	.LVL128:
 930 00b6 43F44043 		orr	r3, r3, #49152
 931              	.LVL129:
 932 00ba 43F08003 		orr	r3, r3, #128
 933 00be 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 934              	.L45:
 935              	.LBE41:
 936              	.LBE40:
 937              	.LBB42:
2087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 938              		.loc 1 2087 0 is_stmt 1
 939 00c2 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 940 00c4 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 941              	.LVL130:
 942 00c8 13F0400F 		tst	r3, #64
 943 00cc 0CD0     		beq	.L46
 944              	.LBB43:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 55


2087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 945              		.loc 1 2087 0 is_stmt 0 discriminator 1
 946 00ce 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 947              	.LVL131:
 948 00d2 9BB2     		uxth	r3, r3
 949 00d4 23F4E043 		bic	r3, r3, #28672
 950 00d8 23F07003 		bic	r3, r3, #112
 951              	.LVL132:
 952 00dc 43F40043 		orr	r3, r3, #32768
 953              	.LVL133:
 954 00e0 43F0C003 		orr	r3, r3, #192
 955 00e4 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 956              	.L46:
 957              	.LBE43:
 958              	.LBE42:
 959              	.LBB44:
2090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
 960              		.loc 1 2090 0 is_stmt 1
 961 00e8 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 962 00ea 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 963 00ee 9BB2     		uxth	r3, r3
 964 00f0 23F4E043 		bic	r3, r3, #28672
 965 00f4 23F07003 		bic	r3, r3, #112
 966              	.LVL134:
 967 00f8 43F40043 		orr	r3, r3, #32768
 968              	.LVL135:
 969 00fc 43F0C003 		orr	r3, r3, #192
 970 0100 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 971              	.LBE44:
 972              	.LBB45:
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
 973              		.loc 1 2092 0
 974 0104 0B78     		ldrb	r3, [r1]	@ zero_extendqisi2
 975 0106 30F82320 		ldrh	r2, [r0, r3, lsl #2]
 976 010a 92B2     		uxth	r2, r2
 977 010c 22F48042 		bic	r2, r2, #16384
 978 0110 22F07002 		bic	r2, r2, #112
 979              	.LVL136:
 980 0114 48F28004 		movw	r4, #32896
 981 0118 2243     		orrs	r2, r2, r4
 982              	.LVL137:
 983 011a 20F82320 		strh	r2, [r0, r3, lsl #2]	@ movhi
 984              	.LBE45:
 985              	.LBB46:
2093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 986              		.loc 1 2093 0
 987 011e 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 988 0120 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 989 0124 9BB2     		uxth	r3, r3
 990 0126 23F4E043 		bic	r3, r3, #28672
 991 012a 23F04003 		bic	r3, r3, #64
 992              	.LVL138:
 993 012e 2343     		orrs	r3, r3, r4
 994              	.LVL139:
 995 0130 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 996              	.L42:
 997              	.LBE46:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 56


 998              		.loc 1 2108 0
 999 0134 0020     		movs	r0, #0
 1000              	.LVL140:
 1001 0136 10BC     		pop	{r4}
 1002              	.LCFI10:
 1003              		.cfi_remember_state
 1004              		.cfi_restore 4
 1005              		.cfi_def_cfa_offset 0
 1006 0138 7047     		bx	lr
 1007              	.LVL141:
 1008              	.L44:
 1009              	.LCFI11:
 1010              		.cfi_restore_state
 1011              	.LBB47:
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
 1012              		.loc 1 2098 0
 1013 013a 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1014 013c 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1015              	.LVL142:
 1016 0140 13F4804F 		tst	r3, #16384
 1017 0144 0CD0     		beq	.L47
 1018              	.LBB48:
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
 1019              		.loc 1 2098 0 is_stmt 0 discriminator 1
 1020 0146 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1021              	.LVL143:
 1022 014a 9BB2     		uxth	r3, r3
 1023 014c 23F4E043 		bic	r3, r3, #28672
 1024 0150 23F07003 		bic	r3, r3, #112
 1025              	.LVL144:
 1026 0154 43F44043 		orr	r3, r3, #49152
 1027              	.LVL145:
 1028 0158 43F08003 		orr	r3, r3, #128
 1029 015c 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 1030              	.L47:
 1031              	.LBE48:
 1032              	.LBE47:
 1033              	.LBB49:
2099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_RX_DTOG(USBx, ep->num);
 1034              		.loc 1 2099 0 is_stmt 1
 1035 0160 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1036 0162 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1037              	.LVL146:
 1038 0166 13F0400F 		tst	r3, #64
 1039 016a 0CD0     		beq	.L48
 1040              	.LBB50:
2099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_RX_DTOG(USBx, ep->num);
 1041              		.loc 1 2099 0 is_stmt 0 discriminator 1
 1042 016c 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1043              	.LVL147:
 1044 0170 9BB2     		uxth	r3, r3
 1045 0172 23F4E043 		bic	r3, r3, #28672
 1046 0176 23F07003 		bic	r3, r3, #112
 1047              	.LVL148:
 1048 017a 43F40043 		orr	r3, r3, #32768
 1049              	.LVL149:
 1050 017e 43F0C003 		orr	r3, r3, #192
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 57


 1051 0182 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 1052              	.L48:
 1053              	.LBE50:
 1054              	.LBE49:
 1055              	.LBB51:
2100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Configure DISABLE status for the Endpoint*/
 1056              		.loc 1 2100 0 is_stmt 1
 1057 0186 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1058 0188 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1059 018c 9BB2     		uxth	r3, r3
 1060 018e 23F4E043 		bic	r3, r3, #28672
 1061 0192 23F07003 		bic	r3, r3, #112
 1062              	.LVL150:
 1063 0196 43F44043 		orr	r3, r3, #49152
 1064              	.LVL151:
 1065 019a 43F08003 		orr	r3, r3, #128
 1066 019e 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 1067              	.LBE51:
 1068              	.LBB52:
2102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
 1069              		.loc 1 2102 0
 1070 01a2 0B78     		ldrb	r3, [r1]	@ zero_extendqisi2
 1071 01a4 30F82320 		ldrh	r2, [r0, r3, lsl #2]
 1072 01a8 92B2     		uxth	r2, r2
 1073 01aa 22F4E042 		bic	r2, r2, #28672
 1074 01ae 22F04002 		bic	r2, r2, #64
 1075              	.LVL152:
 1076 01b2 48F28004 		movw	r4, #32896
 1077 01b6 2243     		orrs	r2, r2, r4
 1078              	.LVL153:
 1079 01b8 20F82320 		strh	r2, [r0, r3, lsl #2]	@ movhi
 1080              	.LBE52:
 1081              	.LBB53:
2103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 1082              		.loc 1 2103 0
 1083 01bc 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1084 01be 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1085 01c2 9BB2     		uxth	r3, r3
 1086 01c4 23F48043 		bic	r3, r3, #16384
 1087 01c8 23F07003 		bic	r3, r3, #112
 1088              	.LVL154:
 1089 01cc 2343     		orrs	r3, r3, r4
 1090              	.LVL155:
 1091 01ce 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 1092 01d2 AFE7     		b	.L42
 1093              	.LBE53:
 1094              		.cfi_endproc
 1095              	.LFE74:
 1097              		.section	.text.USB_WritePacket,"ax",%progbits
 1098              		.align	1
 1099              		.global	USB_WritePacket
 1100              		.syntax unified
 1101              		.thumb
 1102              		.thumb_func
 1103              		.fpu softvfp
 1105              	USB_WritePacket:
 1106              	.LFB76:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 58


2109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_EPStartXfer : setup and starts a transfer over an EP
2112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep: pointer to endpoint structure
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_EPStartXfer(USB_TypeDef *USBx, USB_EPTypeDef *ep)
2117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t pmabuffer;
2119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t len;
2120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* IN endpoint */
2122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->is_in == 1U)
2123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /*Multi packet transfer*/
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->xfer_len > ep->maxpacket)
2126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       len = ep->maxpacket;
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       ep->xfer_len -= len;
2129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
2131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       len = ep->xfer_len;
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       ep->xfer_len = 0U;
2134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* configure and validate Tx endpoint */
2137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->doublebuffer == 0U)
2138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USB_WritePMA(USBx, ep->xfer_buff, ep->pmaadress, (uint16_t)len);
2140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_TX_CNT(USBx, ep->num, len);
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
2143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Write the data to the USB endpoint */
2145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U)
2146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
2147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         /* Set the Double buffer counter for pmabuffer1 */
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len);
2149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
2150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       else
2152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
2153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         /* Set the Double buffer counter for pmabuffer0 */
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len);
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
2156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
2157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len);
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_FreeUserBuffer(USBx, ep->num, ep->is_in);
2159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_VALID);
2162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else /* OUT endpoint */
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
2165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* Multi packet transfer*/
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 59


2166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->xfer_len > ep->maxpacket)
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       len = ep->maxpacket;
2169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       ep->xfer_len -= len;
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
2172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       len = ep->xfer_len;
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       ep->xfer_len = 0U;
2175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* configure and validate Rx endpoint */
2178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->doublebuffer == 0U)
2179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /*Set RX buffer count*/
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_RX_CNT(USBx, ep->num, len);
2182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
2184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /*Set the Double buffer counter*/
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_DBUF_CNT(USBx, ep->num, ep->is_in, len);
2187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
2190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
2194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_WritePacket : Writes a packet into the Tx FIFO associated
2197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         with the EP/channel
2198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  src :  pointer to source buffer
2200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ch_ep_num : endpoint or host channel number
2201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  len : Number of bytes to write
2202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_WritePacket(USB_TypeDef *USBx, uint8_t *src, uint8_t ch_ep_num, uint16_t len)
2205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1107              		.loc 1 2205 0
 1108              		.cfi_startproc
 1109              		@ args = 0, pretend = 0, frame = 0
 1110              		@ frame_needed = 0, uses_anonymous_args = 0
 1111              		@ link register save eliminated.
 1112              	.LVL156:
2206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
2207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
2208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(src);
2209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(ch_ep_num);
2210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(len);
2211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
2212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
2213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
2214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
2215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 60


 1113              		.loc 1 2216 0
 1114 0000 0020     		movs	r0, #0
 1115              	.LVL157:
 1116 0002 7047     		bx	lr
 1117              		.cfi_endproc
 1118              	.LFE76:
 1120              		.section	.text.USB_ReadPacket,"ax",%progbits
 1121              		.align	1
 1122              		.global	USB_ReadPacket
 1123              		.syntax unified
 1124              		.thumb
 1125              		.thumb_func
 1126              		.fpu softvfp
 1128              	USB_ReadPacket:
 1129              	.LFB77:
2217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ReadPacket : read a packet from the Tx FIFO associated
2220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *         with the EP/channel
2221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  dest : destination pointer
2223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  len : Number of bytes to read
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval pointer to destination buffer
2225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** void *USB_ReadPacket(USB_TypeDef *USBx, uint8_t *dest, uint16_t len)
2227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1130              		.loc 1 2227 0
 1131              		.cfi_startproc
 1132              		@ args = 0, pretend = 0, frame = 0
 1133              		@ frame_needed = 0, uses_anonymous_args = 0
 1134              		@ link register save eliminated.
 1135              	.LVL158:
2228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
2229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
2230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(dest);
2231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(len);
2232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
2233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
2234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
2235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
2236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return ((void *)NULL);
2237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1136              		.loc 1 2237 0
 1137 0000 0020     		movs	r0, #0
 1138              	.LVL159:
 1139 0002 7047     		bx	lr
 1140              		.cfi_endproc
 1141              	.LFE77:
 1143              		.section	.text.USB_EPSetStall,"ax",%progbits
 1144              		.align	1
 1145              		.global	USB_EPSetStall
 1146              		.syntax unified
 1147              		.thumb
 1148              		.thumb_func
 1149              		.fpu softvfp
 1151              	USB_EPSetStall:
 1152              	.LFB78:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 61


2238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_EPSetStall : set a stall condition over an EP
2241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep: pointer to endpoint structure
2243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_EPSetStall(USB_TypeDef *USBx, USB_EPTypeDef *ep)
2246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1153              		.loc 1 2246 0
 1154              		.cfi_startproc
 1155              		@ args = 0, pretend = 0, frame = 0
 1156              		@ frame_needed = 0, uses_anonymous_args = 0
 1157              		@ link register save eliminated.
 1158              	.LVL160:
2247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->is_in != 0U)
 1159              		.loc 1 2247 0
 1160 0000 4B78     		ldrb	r3, [r1, #1]	@ zero_extendqisi2
 1161 0002 8BB9     		cbnz	r3, .L57
 1162              	.LBB54:
2248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
2249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_STALL);
2250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   else
2252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
2253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_STALL);
 1163              		.loc 1 2253 0
 1164 0004 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1165 0006 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1166 000a 9BB2     		uxth	r3, r3
 1167 000c 23F48043 		bic	r3, r3, #16384
 1168 0010 23F07003 		bic	r3, r3, #112
 1169              	.LVL161:
 1170 0014 83F48053 		eor	r3, r3, #4096
 1171              	.LVL162:
 1172 0018 43F40043 		orr	r3, r3, #32768
 1173              	.LVL163:
 1174 001c 43F08003 		orr	r3, r3, #128
 1175 0020 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 1176              	.L56:
 1177              	.LBE54:
2254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1178              		.loc 1 2257 0
 1179 0024 0020     		movs	r0, #0
 1180              	.LVL164:
 1181 0026 7047     		bx	lr
 1182              	.LVL165:
 1183              	.L57:
 1184              	.LBB55:
2249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 1185              		.loc 1 2249 0
 1186 0028 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1187 002a 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1188 002e 9BB2     		uxth	r3, r3
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 62


 1189 0030 23F4E043 		bic	r3, r3, #28672
 1190 0034 23F04003 		bic	r3, r3, #64
 1191              	.LVL166:
 1192 0038 83F01003 		eor	r3, r3, #16
 1193              	.LVL167:
 1194 003c 43F40043 		orr	r3, r3, #32768
 1195              	.LVL168:
 1196 0040 43F08003 		orr	r3, r3, #128
 1197 0044 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 1198              	.LBE55:
 1199 0048 ECE7     		b	.L56
 1200              		.cfi_endproc
 1201              	.LFE78:
 1203              		.section	.text.USB_EPClearStall,"ax",%progbits
 1204              		.align	1
 1205              		.global	USB_EPClearStall
 1206              		.syntax unified
 1207              		.thumb
 1208              		.thumb_func
 1209              		.fpu softvfp
 1211              	USB_EPClearStall:
 1212              	.LFB79:
2258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_EPClearStall : Clear a stall condition over an EP
2261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  ep: pointer to endpoint structure
2263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_EPClearStall(USB_TypeDef *USBx, USB_EPTypeDef *ep)
2266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1213              		.loc 1 2266 0
 1214              		.cfi_startproc
 1215              		@ args = 0, pretend = 0, frame = 0
 1216              		@ frame_needed = 0, uses_anonymous_args = 0
 1217              		@ link register save eliminated.
 1218              	.LVL169:
2267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (ep->doublebuffer == 0U)
 1219              		.loc 1 2267 0
 1220 0000 0B7B     		ldrb	r3, [r1, #12]	@ zero_extendqisi2
 1221 0002 002B     		cmp	r3, #0
 1222 0004 4BD1     		bne	.L59
2268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
2269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     if (ep->is_in != 0U)
 1223              		.loc 1 2269 0
 1224 0006 4B78     		ldrb	r3, [r1, #1]	@ zero_extendqisi2
 1225 0008 33B3     		cbz	r3, .L60
 1226              	.LBB56:
2270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_TX_DTOG(USBx, ep->num);
 1227              		.loc 1 2271 0
 1228 000a 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1229 000c 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1230              	.LVL170:
 1231 0010 13F0400F 		tst	r3, #64
 1232 0014 0CD0     		beq	.L61
 1233              	.LBB57:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 63


 1234              		.loc 1 2271 0 is_stmt 0 discriminator 1
 1235 0016 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1236              	.LVL171:
 1237 001a 9BB2     		uxth	r3, r3
 1238 001c 23F4E043 		bic	r3, r3, #28672
 1239 0020 23F07003 		bic	r3, r3, #112
 1240              	.LVL172:
 1241 0024 43F40043 		orr	r3, r3, #32768
 1242              	.LVL173:
 1243 0028 43F0C003 		orr	r3, r3, #192
 1244 002c 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 1245              	.L61:
 1246              	.LBE57:
 1247              	.LBE56:
2272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       if (ep->type != EP_TYPE_ISOC)
 1248              		.loc 1 2273 0 is_stmt 1
 1249 0030 CB78     		ldrb	r3, [r1, #3]	@ zero_extendqisi2
 1250 0032 012B     		cmp	r3, #1
 1251 0034 33D0     		beq	.L59
 1252              	.LBB58:
2274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
2275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         /* Configure NAK status for the Endpoint */
2276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK);
 1253              		.loc 1 2276 0
 1254 0036 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1255 0038 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1256 003c 9BB2     		uxth	r3, r3
 1257 003e 23F4E043 		bic	r3, r3, #28672
 1258 0042 23F04003 		bic	r3, r3, #64
 1259              	.LVL174:
 1260 0046 83F02003 		eor	r3, r3, #32
 1261              	.LVL175:
 1262 004a 43F40043 		orr	r3, r3, #32768
 1263              	.LVL176:
 1264 004e 43F08003 		orr	r3, r3, #128
 1265 0052 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 1266 0056 22E0     		b	.L59
 1267              	.L60:
 1268              	.LBE58:
 1269              	.LBB59:
2277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
2278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     else
2280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
2281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_CLEAR_RX_DTOG(USBx, ep->num);
 1270              		.loc 1 2281 0
 1271 0058 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1272 005a 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1273              	.LVL177:
 1274 005e 13F4804F 		tst	r3, #16384
 1275 0062 0CD0     		beq	.L62
 1276              	.LBB60:
 1277              		.loc 1 2281 0 is_stmt 0 discriminator 1
 1278 0064 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1279              	.LVL178:
 1280 0068 9BB2     		uxth	r3, r3
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 64


 1281 006a 23F4E043 		bic	r3, r3, #28672
 1282 006e 23F07003 		bic	r3, r3, #112
 1283              	.LVL179:
 1284 0072 43F44043 		orr	r3, r3, #49152
 1285              	.LVL180:
 1286 0076 43F08003 		orr	r3, r3, #128
 1287 007a 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 1288              	.L62:
 1289              	.LBE60:
 1290              	.LBE59:
 1291              	.LBB61:
2282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       /* Configure VALID status for the Endpoint*/
2284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
 1292              		.loc 1 2284 0 is_stmt 1
 1293 007e 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1294 0080 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1295 0084 9BB2     		uxth	r3, r3
 1296 0086 23F48043 		bic	r3, r3, #16384
 1297 008a 23F07003 		bic	r3, r3, #112
 1298              	.LVL181:
 1299 008e 83F44053 		eor	r3, r3, #12288
 1300              	.LVL182:
 1301 0092 43F40043 		orr	r3, r3, #32768
 1302              	.LVL183:
 1303 0096 43F08003 		orr	r3, r3, #128
 1304 009a 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 1305              	.L59:
 1306              	.LBE61:
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
2286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1307              		.loc 1 2289 0
 1308 009e 0020     		movs	r0, #0
 1309              	.LVL184:
 1310 00a0 7047     		bx	lr
 1311              		.cfi_endproc
 1312              	.LFE79:
 1314              		.section	.text.USB_StopDevice,"ax",%progbits
 1315              		.align	1
 1316              		.global	USB_StopDevice
 1317              		.syntax unified
 1318              		.thumb
 1319              		.thumb_func
 1320              		.fpu softvfp
 1322              	USB_StopDevice:
 1323              	.LFB80:
2290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_StopDevice : Stop the usb device mode
2293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_StopDevice(USB_TypeDef *USBx)
2297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 65


 1324              		.loc 1 2297 0
 1325              		.cfi_startproc
 1326              		@ args = 0, pretend = 0, frame = 0
 1327              		@ frame_needed = 0, uses_anonymous_args = 0
 1328              		@ link register save eliminated.
 1329              	.LVL185:
 1330 0000 0346     		mov	r3, r0
2298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* disable all interrupts and force USB reset */
2299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->CNTR = USB_CNTR_FRES;
 1331              		.loc 1 2299 0
 1332 0002 0122     		movs	r2, #1
 1333 0004 A0F84020 		strh	r2, [r0, #64]	@ movhi
2300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* clear interrupt status register */
2302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->ISTR = 0;
 1334              		.loc 1 2302 0
 1335 0008 0020     		movs	r0, #0
 1336              	.LVL186:
 1337 000a A3F84400 		strh	r0, [r3, #68]	@ movhi
2303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* switch-off device */
2305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->CNTR = (USB_CNTR_FRES | USB_CNTR_PDWN);
 1338              		.loc 1 2305 0
 1339 000e 0322     		movs	r2, #3
 1340 0010 A3F84020 		strh	r2, [r3, #64]	@ movhi
2306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1341              		.loc 1 2308 0
 1342 0014 7047     		bx	lr
 1343              		.cfi_endproc
 1344              	.LFE80:
 1346              		.section	.text.USB_SetDevAddress,"ax",%progbits
 1347              		.align	1
 1348              		.global	USB_SetDevAddress
 1349              		.syntax unified
 1350              		.thumb
 1351              		.thumb_func
 1352              		.fpu softvfp
 1354              	USB_SetDevAddress:
 1355              	.LFB81:
2309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_SetDevAddress : Stop the usb device mode
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  address : new device address to be assigned
2314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be a value from 0 to 255
2315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef  USB_SetDevAddress(USB_TypeDef *USBx, uint8_t address)
2318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1356              		.loc 1 2318 0
 1357              		.cfi_startproc
 1358              		@ args = 0, pretend = 0, frame = 0
 1359              		@ frame_needed = 0, uses_anonymous_args = 0
 1360              		@ link register save eliminated.
 1361              	.LVL187:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 66


2319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if (address == 0U)
 1362              		.loc 1 2319 0
 1363 0000 11B9     		cbnz	r1, .L65
2320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
2321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     /* set device address and enable function */
2322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     USBx->DADDR = USB_DADDR_EF;
 1364              		.loc 1 2322 0
 1365 0002 8023     		movs	r3, #128
 1366 0004 A0F84C30 		strh	r3, [r0, #76]	@ movhi
 1367              	.L65:
2323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1368              		.loc 1 2326 0
 1369 0008 0020     		movs	r0, #0
 1370              	.LVL188:
 1371 000a 7047     		bx	lr
 1372              		.cfi_endproc
 1373              	.LFE81:
 1375              		.section	.text.USB_DevConnect,"ax",%progbits
 1376              		.align	1
 1377              		.global	USB_DevConnect
 1378              		.syntax unified
 1379              		.thumb
 1380              		.thumb_func
 1381              		.fpu softvfp
 1383              	USB_DevConnect:
 1384              	.LFB82:
2327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_DevConnect : Connect the USB device by enabling the pull-up/pull-down
2330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef  USB_DevConnect(USB_TypeDef *USBx)
2334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1385              		.loc 1 2334 0
 1386              		.cfi_startproc
 1387              		@ args = 0, pretend = 0, frame = 0
 1388              		@ frame_needed = 0, uses_anonymous_args = 0
 1389              		@ link register save eliminated.
 1390              	.LVL189:
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
2336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
2337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
2338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
2339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
2340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
2341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1391              		.loc 1 2343 0
 1392 0000 0020     		movs	r0, #0
 1393              	.LVL190:
 1394 0002 7047     		bx	lr
 1395              		.cfi_endproc
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 67


 1396              	.LFE82:
 1398              		.section	.text.USB_DevDisconnect,"ax",%progbits
 1399              		.align	1
 1400              		.global	USB_DevDisconnect
 1401              		.syntax unified
 1402              		.thumb
 1403              		.thumb_func
 1404              		.fpu softvfp
 1406              	USB_DevDisconnect:
 1407              	.LFB83:
2344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_DevDisconnect : Disconnect the USB device by disabling the pull-up/pull-down
2347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef  USB_DevDisconnect(USB_TypeDef *USBx)
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1408              		.loc 1 2351 0
 1409              		.cfi_startproc
 1410              		@ args = 0, pretend = 0, frame = 0
 1411              		@ frame_needed = 0, uses_anonymous_args = 0
 1412              		@ link register save eliminated.
 1413              	.LVL191:
2352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
2354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
2355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
2356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
2358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1414              		.loc 1 2360 0
 1415 0000 0020     		movs	r0, #0
 1416              	.LVL192:
 1417 0002 7047     		bx	lr
 1418              		.cfi_endproc
 1419              	.LFE83:
 1421              		.section	.text.USB_ReadInterrupts,"ax",%progbits
 1422              		.align	1
 1423              		.global	USB_ReadInterrupts
 1424              		.syntax unified
 1425              		.thumb
 1426              		.thumb_func
 1427              		.fpu softvfp
 1429              	USB_ReadInterrupts:
 1430              	.LFB84:
2361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ReadInterrupts: return the global USB interrupt status
2364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t  USB_ReadInterrupts(USB_TypeDef *USBx)
2368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1431              		.loc 1 2368 0
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 68


 1432              		.cfi_startproc
 1433              		@ args = 0, pretend = 0, frame = 0
 1434              		@ frame_needed = 0, uses_anonymous_args = 0
 1435              		@ link register save eliminated.
 1436              	.LVL193:
2369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t tmpreg;
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   tmpreg = USBx->ISTR;
 1437              		.loc 1 2371 0
 1438 0000 B0F84400 		ldrh	r0, [r0, #68]
 1439              	.LVL194:
2372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return tmpreg;
2373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1440              		.loc 1 2373 0
 1441 0004 7047     		bx	lr
 1442              		.cfi_endproc
 1443              	.LFE84:
 1445              		.section	.text.USB_ReadDevAllOutEpInterrupt,"ax",%progbits
 1446              		.align	1
 1447              		.global	USB_ReadDevAllOutEpInterrupt
 1448              		.syntax unified
 1449              		.thumb
 1450              		.thumb_func
 1451              		.fpu softvfp
 1453              	USB_ReadDevAllOutEpInterrupt:
 1454              	.LFB85:
2374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ReadDevAllOutEpInterrupt: return the USB device OUT endpoints interrupt status
2377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_ReadDevAllOutEpInterrupt(USB_TypeDef *USBx)
2381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1455              		.loc 1 2381 0
 1456              		.cfi_startproc
 1457              		@ args = 0, pretend = 0, frame = 0
 1458              		@ frame_needed = 0, uses_anonymous_args = 0
 1459              		@ link register save eliminated.
 1460              	.LVL195:
2382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
2384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
2385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
2386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
2388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return (0);
2389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1461              		.loc 1 2389 0
 1462 0000 0020     		movs	r0, #0
 1463              	.LVL196:
 1464 0002 7047     		bx	lr
 1465              		.cfi_endproc
 1466              	.LFE85:
 1468              		.section	.text.USB_ReadDevAllInEpInterrupt,"ax",%progbits
 1469              		.align	1
 1470              		.global	USB_ReadDevAllInEpInterrupt
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 69


 1471              		.syntax unified
 1472              		.thumb
 1473              		.thumb_func
 1474              		.fpu softvfp
 1476              	USB_ReadDevAllInEpInterrupt:
 1477              	.LFB86:
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ReadDevAllInEpInterrupt: return the USB device IN endpoints interrupt status
2393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_ReadDevAllInEpInterrupt(USB_TypeDef *USBx)
2397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1478              		.loc 1 2397 0
 1479              		.cfi_startproc
 1480              		@ args = 0, pretend = 0, frame = 0
 1481              		@ frame_needed = 0, uses_anonymous_args = 0
 1482              		@ link register save eliminated.
 1483              	.LVL197:
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
2399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
2400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
2401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
2402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
2403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
2404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return (0);
2405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1484              		.loc 1 2405 0
 1485 0000 0020     		movs	r0, #0
 1486              	.LVL198:
 1487 0002 7047     		bx	lr
 1488              		.cfi_endproc
 1489              	.LFE86:
 1491              		.section	.text.USB_ReadDevOutEPInterrupt,"ax",%progbits
 1492              		.align	1
 1493              		.global	USB_ReadDevOutEPInterrupt
 1494              		.syntax unified
 1495              		.thumb
 1496              		.thumb_func
 1497              		.fpu softvfp
 1499              	USB_ReadDevOutEPInterrupt:
 1500              	.LFB87:
2406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Returns Device OUT EP Interrupt register
2409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  epnum : endpoint number
2411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be a value from 0 to 15
2412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval Device OUT EP Interrupt register
2413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_ReadDevOutEPInterrupt(USB_TypeDef *USBx, uint8_t epnum)
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1501              		.loc 1 2415 0
 1502              		.cfi_startproc
 1503              		@ args = 0, pretend = 0, frame = 0
 1504              		@ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 70


 1505              		@ link register save eliminated.
 1506              	.LVL199:
2416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
2417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
2418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(epnum);
2419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
2420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
2421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
2422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
2423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return (0);
2424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1507              		.loc 1 2424 0
 1508 0000 0020     		movs	r0, #0
 1509              	.LVL200:
 1510 0002 7047     		bx	lr
 1511              		.cfi_endproc
 1512              	.LFE87:
 1514              		.section	.text.USB_ReadDevInEPInterrupt,"ax",%progbits
 1515              		.align	1
 1516              		.global	USB_ReadDevInEPInterrupt
 1517              		.syntax unified
 1518              		.thumb
 1519              		.thumb_func
 1520              		.fpu softvfp
 1522              	USB_ReadDevInEPInterrupt:
 1523              	.LFB88:
2425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Returns Device IN EP Interrupt register
2428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx : Selected device
2429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  epnum : endpoint number
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   *          This parameter can be a value from 0 to 15
2431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval Device IN EP Interrupt register
2432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** uint32_t USB_ReadDevInEPInterrupt(USB_TypeDef *USBx, uint8_t epnum)
2434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1524              		.loc 1 2434 0
 1525              		.cfi_startproc
 1526              		@ args = 0, pretend = 0, frame = 0
 1527              		@ frame_needed = 0, uses_anonymous_args = 0
 1528              		@ link register save eliminated.
 1529              	.LVL201:
2435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
2436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
2437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(epnum);
2438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
2439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
2440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
2441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
2442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return (0);
2443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1530              		.loc 1 2443 0
 1531 0000 0020     		movs	r0, #0
 1532              	.LVL202:
 1533 0002 7047     		bx	lr
 1534              		.cfi_endproc
 1535              	.LFE88:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 71


 1537              		.section	.text.USB_ClearInterrupts,"ax",%progbits
 1538              		.align	1
 1539              		.global	USB_ClearInterrupts
 1540              		.syntax unified
 1541              		.thumb
 1542              		.thumb_func
 1543              		.fpu softvfp
 1545              	USB_ClearInterrupts:
 1546              	.LFB89:
2444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ClearInterrupts: clear a USB interrupt
2447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
2448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  interrupt  interrupt flag
2449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval None
2450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** void  USB_ClearInterrupts(USB_TypeDef *USBx, uint32_t interrupt)
2452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1547              		.loc 1 2452 0
 1548              		.cfi_startproc
 1549              		@ args = 0, pretend = 0, frame = 0
 1550              		@ frame_needed = 0, uses_anonymous_args = 0
 1551              		@ link register save eliminated.
 1552              	.LVL203:
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
2454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
2455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(interrupt);
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
2457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
2458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
2459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
2460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1553              		.loc 1 2460 0
 1554 0000 7047     		bx	lr
 1555              		.cfi_endproc
 1556              	.LFE89:
 1558              		.section	.text.USB_EP0_OutStart,"ax",%progbits
 1559              		.align	1
 1560              		.global	USB_EP0_OutStart
 1561              		.syntax unified
 1562              		.thumb
 1563              		.thumb_func
 1564              		.fpu softvfp
 1566              	USB_EP0_OutStart:
 1567              	.LFB90:
2461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  Prepare the EP0 to start the first control setup
2464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  psetup  pointer to setup packet
2466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_EP0_OutStart(USB_TypeDef *USBx, uint8_t *psetup)
2469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1568              		.loc 1 2469 0
 1569              		.cfi_startproc
 1570              		@ args = 0, pretend = 0, frame = 0
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 72


 1571              		@ frame_needed = 0, uses_anonymous_args = 0
 1572              		@ link register save eliminated.
 1573              	.LVL204:
2470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* Prevent unused argument(s) compilation warning */
2471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(USBx);
2472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   UNUSED(psetup);
2473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   /* NOTE : - This function is not required by USB Device FS peripheral, it is used
2474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****               only by USB OTG FS peripheral.
2475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****             - This function is added to ensure compatibility across platforms.
2476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****    */
2477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1574              		.loc 1 2478 0
 1575 0000 0020     		movs	r0, #0
 1576              	.LVL205:
 1577 0002 7047     		bx	lr
 1578              		.cfi_endproc
 1579              	.LFE90:
 1581              		.section	.text.USB_ActivateRemoteWakeup,"ax",%progbits
 1582              		.align	1
 1583              		.global	USB_ActivateRemoteWakeup
 1584              		.syntax unified
 1585              		.thumb
 1586              		.thumb_func
 1587              		.fpu softvfp
 1589              	USB_ActivateRemoteWakeup:
 1590              	.LFB91:
2479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_ActivateRemoteWakeup : active remote wakeup signalling
2482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
2483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateRemoteWakeup(USB_TypeDef *USBx)
2486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1591              		.loc 1 2486 0
 1592              		.cfi_startproc
 1593              		@ args = 0, pretend = 0, frame = 0
 1594              		@ frame_needed = 0, uses_anonymous_args = 0
 1595              		@ link register save eliminated.
 1596              	.LVL206:
2487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->CNTR |= USB_CNTR_RESUME;
 1597              		.loc 1 2487 0
 1598 0000 B0F84030 		ldrh	r3, [r0, #64]
 1599 0004 43F01003 		orr	r3, r3, #16
 1600 0008 A0F84030 		strh	r3, [r0, #64]	@ movhi
2488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1601              		.loc 1 2490 0
 1602 000c 0020     		movs	r0, #0
 1603              	.LVL207:
 1604 000e 7047     		bx	lr
 1605              		.cfi_endproc
 1606              	.LFE91:
 1608              		.section	.text.USB_DeActivateRemoteWakeup,"ax",%progbits
 1609              		.align	1
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 73


 1610              		.global	USB_DeActivateRemoteWakeup
 1611              		.syntax unified
 1612              		.thumb
 1613              		.thumb_func
 1614              		.fpu softvfp
 1616              	USB_DeActivateRemoteWakeup:
 1617              	.LFB92:
2491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief  USB_DeActivateRemoteWakeup : de-active remote wakeup signalling
2494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param  USBx  Selected device
2495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval HAL status
2496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** HAL_StatusTypeDef USB_DeActivateRemoteWakeup(USB_TypeDef *USBx)
2498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1618              		.loc 1 2498 0
 1619              		.cfi_startproc
 1620              		@ args = 0, pretend = 0, frame = 0
 1621              		@ frame_needed = 0, uses_anonymous_args = 0
 1622              		@ link register save eliminated.
 1623              	.LVL208:
2499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   USBx->CNTR &= ~(USB_CNTR_RESUME);
 1624              		.loc 1 2499 0
 1625 0000 B0F84030 		ldrh	r3, [r0, #64]
 1626 0004 9BB2     		uxth	r3, r3
 1627 0006 23F01003 		bic	r3, r3, #16
 1628 000a 9BB2     		uxth	r3, r3
 1629 000c A0F84030 		strh	r3, [r0, #64]	@ movhi
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   return HAL_OK;
2501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1630              		.loc 1 2501 0
 1631 0010 0020     		movs	r0, #0
 1632              	.LVL209:
 1633 0012 7047     		bx	lr
 1634              		.cfi_endproc
 1635              	.LFE92:
 1637              		.section	.text.USB_WritePMA,"ax",%progbits
 1638              		.align	1
 1639              		.global	USB_WritePMA
 1640              		.syntax unified
 1641              		.thumb
 1642              		.thumb_func
 1643              		.fpu softvfp
 1645              	USB_WritePMA:
 1646              	.LFB93:
2502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief Copy a buffer from user memory area to packet memory area (PMA)
2505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param   USBx USB peripheral instance register address.
2506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param   pbUsrBuf pointer to user memory area.
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param   wPMABufAddr address into PMA.
2508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param   wNBytes: no. of bytes to be copied.
2509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval None
2510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** void USB_WritePMA(USB_TypeDef *USBx, uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes)
2512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 1647              		.loc 1 2512 0
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 74


 1648              		.cfi_startproc
 1649              		@ args = 0, pretend = 0, frame = 0
 1650              		@ frame_needed = 0, uses_anonymous_args = 0
 1651              		@ link register save eliminated.
 1652              	.LVL210:
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t n = ((uint32_t)wNBytes + 1U) >> 1;
 1653              		.loc 1 2513 0
 1654 0000 0133     		adds	r3, r3, #1
 1655              	.LVL211:
 1656 0002 5B08     		lsrs	r3, r3, #1
 1657              	.LVL212:
2514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t BaseAddr = (uint32_t)USBx;
2515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t i, temp1, temp2;
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   __IO uint16_t *pdwVal;
2517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint8_t *pBuf = pbUsrBuf;
2518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   pdwVal = (__IO uint16_t *)(BaseAddr + 0x400U + ((uint32_t)wPMABufAddr * PMA_ACCESS));
 1658              		.loc 1 2519 0
 1659 0004 00EB4202 		add	r2, r0, r2, lsl #1
 1660              	.LVL213:
 1661 0008 02F58062 		add	r2, r2, #1024
 1662              	.LVL214:
2520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   for (i = n; i != 0U; i--)
 1663              		.loc 1 2521 0
 1664 000c 63B1     		cbz	r3, .L83
2512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t n = ((uint32_t)wNBytes + 1U) >> 1;
 1665              		.loc 1 2512 0
 1666 000e 10B4     		push	{r4}
 1667              	.LCFI12:
 1668              		.cfi_def_cfa_offset 4
 1669              		.cfi_offset 4, -4
 1670              	.LVL215:
 1671              	.L79:
2522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     temp1 = *pBuf;
 1672              		.loc 1 2523 0 discriminator 3
 1673 0010 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 1674              	.LVL216:
2524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     pBuf++;
2525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     temp2 = temp1 | ((uint16_t)((uint16_t) *pBuf << 8));
 1675              		.loc 1 2525 0 discriminator 3
 1676 0012 4878     		ldrb	r0, [r1, #1]	@ zero_extendqisi2
 1677              	.LVL217:
2526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     *pdwVal = (uint16_t)temp2;
 1678              		.loc 1 2526 0 discriminator 3
 1679 0014 44EA0024 		orr	r4, r4, r0, lsl #8
 1680              	.LVL218:
 1681 0018 22F8044B 		strh	r4, [r2], #4	@ movhi
 1682              	.LVL219:
2527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     pdwVal++;
2528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** #if PMA_ACCESS > 1U
2530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     pdwVal++;
2531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** #endif
2532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     pBuf++;
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 75


 1683              		.loc 1 2533 0 discriminator 3
 1684 001c 0231     		adds	r1, r1, #2
 1685              	.LVL220:
2521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 1686              		.loc 1 2521 0 discriminator 3
 1687 001e 013B     		subs	r3, r3, #1
 1688              	.LVL221:
 1689 0020 002B     		cmp	r3, #0
 1690 0022 F5D1     		bne	.L79
2534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 1691              		.loc 1 2535 0
 1692 0024 10BC     		pop	{r4}
 1693              	.LCFI13:
 1694              		.cfi_restore 4
 1695              		.cfi_def_cfa_offset 0
 1696              	.LVL222:
 1697 0026 7047     		bx	lr
 1698              	.LVL223:
 1699              	.L83:
 1700 0028 7047     		bx	lr
 1701              		.cfi_endproc
 1702              	.LFE93:
 1704              		.section	.text.USB_EPStartXfer,"ax",%progbits
 1705              		.align	1
 1706              		.global	USB_EPStartXfer
 1707              		.syntax unified
 1708              		.thumb
 1709              		.thumb_func
 1710              		.fpu softvfp
 1712              	USB_EPStartXfer:
 1713              	.LFB75:
2117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint16_t pmabuffer;
 1714              		.loc 1 2117 0
 1715              		.cfi_startproc
 1716              		@ args = 0, pretend = 0, frame = 0
 1717              		@ frame_needed = 0, uses_anonymous_args = 0
 1718              	.LVL224:
 1719 0000 70B5     		push	{r4, r5, r6, lr}
 1720              	.LCFI14:
 1721              		.cfi_def_cfa_offset 16
 1722              		.cfi_offset 4, -16
 1723              		.cfi_offset 5, -12
 1724              		.cfi_offset 6, -8
 1725              		.cfi_offset 14, -4
2122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 1726              		.loc 1 2122 0
 1727 0002 4E78     		ldrb	r6, [r1, #1]	@ zero_extendqisi2
 1728 0004 012E     		cmp	r6, #1
 1729 0006 33D0     		beq	.L125
2166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 1730              		.loc 1 2166 0
 1731 0008 8A69     		ldr	r2, [r1, #24]
 1732 000a 0B69     		ldr	r3, [r1, #16]
 1733 000c 9A42     		cmp	r2, r3
 1734 000e 40F2FC80 		bls	.L106
 1735              	.LVL225:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 76


2169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 1736              		.loc 1 2169 0
 1737 0012 D21A     		subs	r2, r2, r3
 1738 0014 8A61     		str	r2, [r1, #24]
 1739              	.L107:
2178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 1740              		.loc 1 2178 0
 1741 0016 0A7B     		ldrb	r2, [r1, #12]	@ zero_extendqisi2
 1742 0018 002A     		cmp	r2, #0
 1743 001a 40F01381 		bne	.L108
 1744              	.LVL226:
 1745              	.LBB62:
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 1746              		.loc 1 2181 0
 1747 001e B0F85020 		ldrh	r2, [r0, #80]
 1748 0022 0244     		add	r2, r2, r0
 1749              	.LVL227:
 1750 0024 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 1751 0026 02EB0412 		add	r2, r2, r4, lsl #4
 1752              	.LVL228:
 1753              	.LBB63:
 1754 002a 002B     		cmp	r3, #0
 1755 002c 40F0F180 		bne	.L109
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 1756              		.loc 1 2181 0 is_stmt 0 discriminator 1
 1757 0030 B2F80C34 		ldrh	r3, [r2, #1036]
 1758              	.LVL229:
 1759 0034 9BB2     		uxth	r3, r3
 1760 0036 23F4F843 		bic	r3, r3, #31744
 1761 003a 9BB2     		uxth	r3, r3
 1762 003c A2F80C34 		strh	r3, [r2, #1036]	@ movhi
 1763 0040 B2F80C34 		ldrh	r3, [r2, #1036]
 1764 0044 43F40043 		orr	r3, r3, #32768
 1765 0048 A2F80C34 		strh	r3, [r2, #1036]	@ movhi
 1766              	.LVL230:
 1767              	.L110:
 1768              	.LBE63:
 1769              	.LBE62:
 1770              	.LBB65:
2189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 1771              		.loc 1 2189 0 is_stmt 1
 1772 004c 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1773 004e 30F82230 		ldrh	r3, [r0, r2, lsl #2]
 1774 0052 9BB2     		uxth	r3, r3
 1775 0054 23F48043 		bic	r3, r3, #16384
 1776 0058 23F07003 		bic	r3, r3, #112
 1777              	.LVL231:
 1778 005c 83F44053 		eor	r3, r3, #12288
 1779              	.LVL232:
 1780 0060 43F40043 		orr	r3, r3, #32768
 1781              	.LVL233:
 1782 0064 43F08003 		orr	r3, r3, #128
 1783 0068 20F82230 		strh	r3, [r0, r2, lsl #2]	@ movhi
 1784              	.LVL234:
 1785              	.L105:
 1786              	.LBE65:
2193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 77


 1787              		.loc 1 2193 0
 1788 006c 0020     		movs	r0, #0
 1789 006e 70BD     		pop	{r4, r5, r6, pc}
 1790              	.LVL235:
 1791              	.L125:
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 1792              		.loc 1 2125 0
 1793 0070 8A69     		ldr	r2, [r1, #24]
 1794 0072 0B69     		ldr	r3, [r1, #16]
 1795 0074 9A42     		cmp	r2, r3
 1796 0076 22D9     		bls	.L86
 1797              	.LVL236:
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 1798              		.loc 1 2128 0
 1799 0078 D21A     		subs	r2, r2, r3
 1800 007a 8A61     		str	r2, [r1, #24]
 1801              	.L87:
 1802 007c 0C46     		mov	r4, r1
 1803 007e 0546     		mov	r5, r0
2137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     {
 1804              		.loc 1 2137 0
 1805 0080 0A7B     		ldrb	r2, [r1, #12]	@ zero_extendqisi2
 1806 0082 02B3     		cbz	r2, .L126
2145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       {
 1807              		.loc 1 2145 0
 1808 0084 0A78     		ldrb	r2, [r1]	@ zero_extendqisi2
 1809 0086 30F82210 		ldrh	r1, [r0, r2, lsl #2]
 1810              	.LVL237:
 1811 008a 11F0400F 		tst	r1, #64
 1812 008e 72D0     		beq	.L90
 1813              	.LVL238:
 1814              	.LBB66:
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
 1815              		.loc 1 2148 0
 1816 0090 002E     		cmp	r6, #0
 1817 0092 40D1     		bne	.L91
 1818              	.LVL239:
 1819              	.LBB67:
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
 1820              		.loc 1 2148 0 is_stmt 0 discriminator 1
 1821 0094 B0F85010 		ldrh	r1, [r0, #80]
 1822 0098 0144     		add	r1, r1, r0
 1823              	.LVL240:
 1824 009a 01EB0212 		add	r2, r1, r2, lsl #4
 1825              	.LVL241:
 1826              	.LBB68:
 1827 009e 0BBB     		cbnz	r3, .L92
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
 1828              		.loc 1 2148 0 discriminator 3
 1829 00a0 B2F80C14 		ldrh	r1, [r2, #1036]
 1830              	.LVL242:
 1831 00a4 89B2     		uxth	r1, r1
 1832 00a6 21F4F841 		bic	r1, r1, #31744
 1833 00aa 89B2     		uxth	r1, r1
 1834 00ac A2F80C14 		strh	r1, [r2, #1036]	@ movhi
 1835 00b0 B2F80C14 		ldrh	r1, [r2, #1036]
 1836 00b4 41F40041 		orr	r1, r1, #32768
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 78


 1837 00b8 A2F80C14 		strh	r1, [r2, #1036]	@ movhi
 1838 00bc 33E0     		b	.L93
 1839              	.LVL243:
 1840              	.L86:
 1841              	.LBE68:
 1842              	.LBE67:
 1843              	.LBE66:
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 1844              		.loc 1 2133 0 is_stmt 1
 1845 00be 0023     		movs	r3, #0
 1846 00c0 8B61     		str	r3, [r1, #24]
2132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       ep->xfer_len = 0U;
 1847              		.loc 1 2132 0
 1848 00c2 1346     		mov	r3, r2
 1849 00c4 DAE7     		b	.L87
 1850              	.LVL244:
 1851              	.L126:
2139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_SET_EP_TX_CNT(USBx, ep->num, len);
 1852              		.loc 1 2139 0
 1853 00c6 9EB2     		uxth	r6, r3
 1854 00c8 3346     		mov	r3, r6
 1855              	.LVL245:
 1856 00ca CA88     		ldrh	r2, [r1, #6]
 1857 00cc 4969     		ldr	r1, [r1, #20]
 1858              	.LVL246:
 1859 00ce FFF7FEFF 		bl	USB_WritePMA
 1860              	.LVL247:
 1861              	.LBB71:
2140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 1862              		.loc 1 2140 0
 1863 00d2 B5F85030 		ldrh	r3, [r5, #80]
 1864 00d6 2B44     		add	r3, r3, r5
 1865              	.LVL248:
 1866 00d8 2278     		ldrb	r2, [r4]	@ zero_extendqisi2
 1867 00da 03EB0213 		add	r3, r3, r2, lsl #4
 1868              	.LVL249:
 1869 00de A3F80464 		strh	r6, [r3, #1028]	@ movhi
 1870              	.LBE71:
 1871 00e2 37E0     		b	.L89
 1872              	.LVL250:
 1873              	.L92:
 1874              	.LBB72:
 1875              	.LBB70:
 1876              	.LBB69:
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
 1877              		.loc 1 2148 0 discriminator 4
 1878 00e4 3E2B     		cmp	r3, #62
 1879 00e6 09D8     		bhi	.L94
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
 1880              		.loc 1 2148 0 is_stmt 0 discriminator 5
 1881 00e8 5908     		lsrs	r1, r3, #1
 1882              	.LVL251:
 1883 00ea 13F0010F 		tst	r3, #1
 1884 00ee 00D0     		beq	.L95
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
 1885              		.loc 1 2148 0 discriminator 7
 1886 00f0 0131     		adds	r1, r1, #1
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 79


 1887              	.LVL252:
 1888              	.L95:
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
 1889              		.loc 1 2148 0 discriminator 9
 1890 00f2 8902     		lsls	r1, r1, #10
 1891              	.LVL253:
 1892 00f4 89B2     		uxth	r1, r1
 1893 00f6 A2F80C14 		strh	r1, [r2, #1036]	@ movhi
 1894 00fa 14E0     		b	.L93
 1895              	.LVL254:
 1896              	.L94:
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
 1897              		.loc 1 2148 0 discriminator 6
 1898 00fc 5909     		lsrs	r1, r3, #5
 1899              	.LVL255:
 1900 00fe 13F01F0F 		tst	r3, #31
 1901 0102 00D1     		bne	.L96
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
 1902              		.loc 1 2148 0 discriminator 10
 1903 0104 0139     		subs	r1, r1, #1
 1904              	.LVL256:
 1905              	.L96:
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
 1906              		.loc 1 2148 0 discriminator 12
 1907 0106 6FEAC161 		mvn	r1, r1, lsl #27
 1908              	.LVL257:
 1909 010a 6FEA5141 		mvn	r1, r1, lsr #17
 1910 010e 89B2     		uxth	r1, r1
 1911 0110 A2F80C14 		strh	r1, [r2, #1036]	@ movhi
 1912 0114 07E0     		b	.L93
 1913              	.LVL258:
 1914              	.L91:
 1915              	.LBE69:
 1916              	.LBE70:
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr1;
 1917              		.loc 1 2148 0 discriminator 13
 1918 0116 B0F85010 		ldrh	r1, [r0, #80]
 1919 011a 0144     		add	r1, r1, r0
 1920              	.LVL259:
 1921 011c 01EB0212 		add	r2, r1, r2, lsl #4
 1922              	.LVL260:
 1923 0120 99B2     		uxth	r1, r3
 1924              	.LVL261:
 1925 0122 A2F80C14 		strh	r1, [r2, #1036]	@ movhi
 1926              	.LVL262:
 1927              	.L93:
 1928              	.LBE72:
2149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 1929              		.loc 1 2149 0 is_stmt 1
 1930 0126 6289     		ldrh	r2, [r4, #10]
 1931              	.LVL263:
 1932              	.L97:
2157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       PCD_FreeUserBuffer(USBx, ep->num, ep->is_in);
 1933              		.loc 1 2157 0
 1934 0128 9BB2     		uxth	r3, r3
 1935              	.LVL264:
 1936 012a 6169     		ldr	r1, [r4, #20]
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 80


 1937 012c 2846     		mov	r0, r5
 1938              	.LVL265:
 1939 012e FFF7FEFF 		bl	USB_WritePMA
 1940              	.LVL266:
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 1941              		.loc 1 2158 0
 1942 0132 6378     		ldrb	r3, [r4, #1]	@ zero_extendqisi2
 1943 0134 002B     		cmp	r3, #0
 1944 0136 57D1     		bne	.L104
 1945              	.LBB73:
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 1946              		.loc 1 2158 0 is_stmt 0 discriminator 1
 1947 0138 2278     		ldrb	r2, [r4]	@ zero_extendqisi2
 1948 013a 35F82230 		ldrh	r3, [r5, r2, lsl #2]
 1949 013e 9BB2     		uxth	r3, r3
 1950 0140 23F4E043 		bic	r3, r3, #28672
 1951 0144 23F07003 		bic	r3, r3, #112
 1952              	.LVL267:
 1953 0148 43F40043 		orr	r3, r3, #32768
 1954              	.LVL268:
 1955 014c 43F0C003 		orr	r3, r3, #192
 1956 0150 25F82230 		strh	r3, [r5, r2, lsl #2]	@ movhi
 1957              	.L89:
 1958              	.LBE73:
 1959              	.LBB74:
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
 1960              		.loc 1 2161 0 is_stmt 1
 1961 0154 2278     		ldrb	r2, [r4]	@ zero_extendqisi2
 1962 0156 35F82230 		ldrh	r3, [r5, r2, lsl #2]
 1963 015a 9BB2     		uxth	r3, r3
 1964 015c 23F4E043 		bic	r3, r3, #28672
 1965 0160 23F04003 		bic	r3, r3, #64
 1966              	.LVL269:
 1967 0164 83F03003 		eor	r3, r3, #48
 1968              	.LVL270:
 1969 0168 43F40043 		orr	r3, r3, #32768
 1970              	.LVL271:
 1971 016c 43F08003 		orr	r3, r3, #128
 1972 0170 25F82230 		strh	r3, [r5, r2, lsl #2]	@ movhi
 1973              	.LBE74:
 1974 0174 7AE7     		b	.L105
 1975              	.LVL272:
 1976              	.L90:
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
 1977              		.loc 1 2154 0
 1978 0176 6EBB     		cbnz	r6, .L98
 1979              	.LVL273:
 1980              	.LBB75:
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
 1981              		.loc 1 2154 0 is_stmt 0 discriminator 1
 1982 0178 B0F85010 		ldrh	r1, [r0, #80]
 1983 017c 0144     		add	r1, r1, r0
 1984              	.LVL274:
 1985 017e 01EB0212 		add	r2, r1, r2, lsl #4
 1986              	.LVL275:
 1987              	.LBB76:
 1988 0182 73B9     		cbnz	r3, .L99
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 81


2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
 1989              		.loc 1 2154 0 discriminator 3
 1990 0184 B2F80414 		ldrh	r1, [r2, #1028]
 1991              	.LVL276:
 1992 0188 89B2     		uxth	r1, r1
 1993 018a 21F4F841 		bic	r1, r1, #31744
 1994 018e 89B2     		uxth	r1, r1
 1995 0190 A2F80414 		strh	r1, [r2, #1028]	@ movhi
 1996 0194 B2F80414 		ldrh	r1, [r2, #1028]
 1997 0198 41F40041 		orr	r1, r1, #32768
 1998 019c A2F80414 		strh	r1, [r2, #1028]	@ movhi
 1999 01a0 20E0     		b	.L100
 2000              	.LVL277:
 2001              	.L99:
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
 2002              		.loc 1 2154 0 discriminator 4
 2003 01a2 3E2B     		cmp	r3, #62
 2004 01a4 09D8     		bhi	.L101
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
 2005              		.loc 1 2154 0 discriminator 5
 2006 01a6 5908     		lsrs	r1, r3, #1
 2007              	.LVL278:
 2008 01a8 13F0010F 		tst	r3, #1
 2009 01ac 00D0     		beq	.L102
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
 2010              		.loc 1 2154 0 discriminator 7
 2011 01ae 0131     		adds	r1, r1, #1
 2012              	.LVL279:
 2013              	.L102:
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
 2014              		.loc 1 2154 0 discriminator 9
 2015 01b0 8902     		lsls	r1, r1, #10
 2016              	.LVL280:
 2017 01b2 89B2     		uxth	r1, r1
 2018 01b4 A2F80414 		strh	r1, [r2, #1028]	@ movhi
 2019 01b8 14E0     		b	.L100
 2020              	.LVL281:
 2021              	.L101:
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
 2022              		.loc 1 2154 0 discriminator 6
 2023 01ba 5909     		lsrs	r1, r3, #5
 2024              	.LVL282:
 2025 01bc 13F01F0F 		tst	r3, #31
 2026 01c0 00D1     		bne	.L103
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
 2027              		.loc 1 2154 0 discriminator 10
 2028 01c2 0139     		subs	r1, r1, #1
 2029              	.LVL283:
 2030              	.L103:
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
 2031              		.loc 1 2154 0 discriminator 12
 2032 01c4 6FEAC161 		mvn	r1, r1, lsl #27
 2033              	.LVL284:
 2034 01c8 6FEA5141 		mvn	r1, r1, lsr #17
 2035 01cc 89B2     		uxth	r1, r1
 2036 01ce A2F80414 		strh	r1, [r2, #1028]	@ movhi
 2037 01d2 07E0     		b	.L100
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 82


 2038              	.LVL285:
 2039              	.L98:
 2040              	.LBE76:
 2041              	.LBE75:
 2042              	.LBB77:
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****         pmabuffer = ep->pmaaddr0;
 2043              		.loc 1 2154 0 discriminator 13
 2044 01d4 B0F85010 		ldrh	r1, [r0, #80]
 2045 01d8 0144     		add	r1, r1, r0
 2046              	.LVL286:
 2047 01da 01EB0212 		add	r2, r1, r2, lsl #4
 2048              	.LVL287:
 2049 01de 99B2     		uxth	r1, r3
 2050              	.LVL288:
 2051 01e0 A2F80414 		strh	r1, [r2, #1028]	@ movhi
 2052              	.LVL289:
 2053              	.L100:
 2054              	.LBE77:
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       }
 2055              		.loc 1 2155 0 is_stmt 1
 2056 01e4 2289     		ldrh	r2, [r4, #8]
 2057              	.LVL290:
 2058 01e6 9FE7     		b	.L97
 2059              	.LVL291:
 2060              	.L104:
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2061              		.loc 1 2158 0 discriminator 2
 2062 01e8 012B     		cmp	r3, #1
 2063 01ea B3D1     		bne	.L89
 2064              	.LBB78:
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2065              		.loc 1 2158 0 is_stmt 0 discriminator 3
 2066 01ec 2278     		ldrb	r2, [r4]	@ zero_extendqisi2
 2067 01ee 35F82230 		ldrh	r3, [r5, r2, lsl #2]
 2068 01f2 9BB2     		uxth	r3, r3
 2069 01f4 23F4E043 		bic	r3, r3, #28672
 2070 01f8 23F07003 		bic	r3, r3, #112
 2071              	.LVL292:
 2072 01fc 43F44043 		orr	r3, r3, #49152
 2073              	.LVL293:
 2074 0200 43F08003 		orr	r3, r3, #128
 2075 0204 25F82230 		strh	r3, [r5, r2, lsl #2]	@ movhi
 2076 0208 A4E7     		b	.L89
 2077              	.LVL294:
 2078              	.L106:
 2079              	.LBE78:
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2080              		.loc 1 2174 0 is_stmt 1
 2081 020a 0023     		movs	r3, #0
 2082 020c 8B61     		str	r3, [r1, #24]
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****       ep->xfer_len = 0U;
 2083              		.loc 1 2173 0
 2084 020e 1346     		mov	r3, r2
 2085 0210 01E7     		b	.L107
 2086              	.LVL295:
 2087              	.L109:
 2088              	.LBB79:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 83


 2089              	.LBB64:
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2090              		.loc 1 2181 0 discriminator 2
 2091 0212 3E2B     		cmp	r3, #62
 2092 0214 09D8     		bhi	.L111
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2093              		.loc 1 2181 0 is_stmt 0 discriminator 3
 2094 0216 5C08     		lsrs	r4, r3, #1
 2095              	.LVL296:
 2096 0218 13F0010F 		tst	r3, #1
 2097 021c 00D0     		beq	.L112
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2098              		.loc 1 2181 0 discriminator 5
 2099 021e 0134     		adds	r4, r4, #1
 2100              	.LVL297:
 2101              	.L112:
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2102              		.loc 1 2181 0 discriminator 7
 2103 0220 A402     		lsls	r4, r4, #10
 2104              	.LVL298:
 2105 0222 A4B2     		uxth	r4, r4
 2106 0224 A2F80C44 		strh	r4, [r2, #1036]	@ movhi
 2107 0228 10E7     		b	.L110
 2108              	.L111:
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2109              		.loc 1 2181 0 discriminator 4
 2110 022a 5C09     		lsrs	r4, r3, #5
 2111              	.LVL299:
 2112 022c 13F01F0F 		tst	r3, #31
 2113 0230 00D1     		bne	.L113
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2114              		.loc 1 2181 0 discriminator 8
 2115 0232 013C     		subs	r4, r4, #1
 2116              	.LVL300:
 2117              	.L113:
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2118              		.loc 1 2181 0 discriminator 10
 2119 0234 6FEAC464 		mvn	r4, r4, lsl #27
 2120              	.LVL301:
 2121 0238 6FEA5444 		mvn	r4, r4, lsr #17
 2122 023c A4B2     		uxth	r4, r4
 2123 023e A2F80C44 		strh	r4, [r2, #1036]	@ movhi
 2124 0242 03E7     		b	.L110
 2125              	.LVL302:
 2126              	.L108:
 2127              	.LBE64:
 2128              	.LBE79:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2129              		.loc 1 2186 0 is_stmt 1
 2130 0244 A6B9     		cbnz	r6, .L114
 2131              	.LVL303:
 2132              	.LBB80:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2133              		.loc 1 2186 0 is_stmt 0 discriminator 1
 2134 0246 B0F85020 		ldrh	r2, [r0, #80]
 2135 024a 0244     		add	r2, r2, r0
 2136              	.LVL304:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 84


 2137 024c 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 2138 024e 02EB0412 		add	r2, r2, r4, lsl #4
 2139              	.LVL305:
 2140              	.LBB81:
 2141 0252 33BB     		cbnz	r3, .L115
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2142              		.loc 1 2186 0 discriminator 3
 2143 0254 B2F80444 		ldrh	r4, [r2, #1028]
 2144 0258 A4B2     		uxth	r4, r4
 2145 025a 24F4F844 		bic	r4, r4, #31744
 2146 025e A4B2     		uxth	r4, r4
 2147 0260 A2F80444 		strh	r4, [r2, #1028]	@ movhi
 2148 0264 B2F80444 		ldrh	r4, [r2, #1028]
 2149 0268 44F40044 		orr	r4, r4, #32768
 2150 026c A2F80444 		strh	r4, [r2, #1028]	@ movhi
 2151              	.LVL306:
 2152              	.L114:
 2153              	.LBE81:
 2154              	.LBE80:
 2155              	.LBB83:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2156              		.loc 1 2186 0 discriminator 15
 2157 0270 4A78     		ldrb	r2, [r1, #1]	@ zero_extendqisi2
 2158 0272 002A     		cmp	r2, #0
 2159 0274 47D1     		bne	.L119
 2160              	.LVL307:
 2161              	.LBB84:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2162              		.loc 1 2186 0 discriminator 16
 2163 0276 B0F85020 		ldrh	r2, [r0, #80]
 2164 027a 0244     		add	r2, r2, r0
 2165              	.LVL308:
 2166 027c 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 2167 027e 02EB0412 		add	r2, r2, r4, lsl #4
 2168              	.LVL309:
 2169              	.LBB85:
 2170 0282 3BBB     		cbnz	r3, .L120
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2171              		.loc 1 2186 0 discriminator 18
 2172 0284 B2F80C34 		ldrh	r3, [r2, #1036]
 2173              	.LVL310:
 2174 0288 9BB2     		uxth	r3, r3
 2175 028a 23F4F843 		bic	r3, r3, #31744
 2176 028e 9BB2     		uxth	r3, r3
 2177 0290 A2F80C34 		strh	r3, [r2, #1036]	@ movhi
 2178 0294 B2F80C34 		ldrh	r3, [r2, #1036]
 2179 0298 43F40043 		orr	r3, r3, #32768
 2180 029c A2F80C34 		strh	r3, [r2, #1036]	@ movhi
 2181 02a0 D4E6     		b	.L110
 2182              	.LVL311:
 2183              	.L115:
 2184              	.LBE85:
 2185              	.LBE84:
 2186              	.LBE83:
 2187              	.LBB88:
 2188              	.LBB82:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 85


 2189              		.loc 1 2186 0 discriminator 4
 2190 02a2 3E2B     		cmp	r3, #62
 2191 02a4 09D8     		bhi	.L116
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2192              		.loc 1 2186 0 discriminator 5
 2193 02a6 5C08     		lsrs	r4, r3, #1
 2194              	.LVL312:
 2195 02a8 13F0010F 		tst	r3, #1
 2196 02ac 00D0     		beq	.L117
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2197              		.loc 1 2186 0 discriminator 7
 2198 02ae 0134     		adds	r4, r4, #1
 2199              	.LVL313:
 2200              	.L117:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2201              		.loc 1 2186 0 discriminator 9
 2202 02b0 A402     		lsls	r4, r4, #10
 2203              	.LVL314:
 2204 02b2 A4B2     		uxth	r4, r4
 2205 02b4 A2F80444 		strh	r4, [r2, #1028]	@ movhi
 2206 02b8 DAE7     		b	.L114
 2207              	.L116:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2208              		.loc 1 2186 0 discriminator 6
 2209 02ba 5C09     		lsrs	r4, r3, #5
 2210              	.LVL315:
 2211 02bc 13F01F0F 		tst	r3, #31
 2212 02c0 00D1     		bne	.L118
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2213              		.loc 1 2186 0 discriminator 10
 2214 02c2 013C     		subs	r4, r4, #1
 2215              	.LVL316:
 2216              	.L118:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2217              		.loc 1 2186 0 discriminator 12
 2218 02c4 6FEAC464 		mvn	r4, r4, lsl #27
 2219              	.LVL317:
 2220 02c8 6FEA5444 		mvn	r4, r4, lsr #17
 2221 02cc A4B2     		uxth	r4, r4
 2222 02ce A2F80444 		strh	r4, [r2, #1028]	@ movhi
 2223 02d2 CDE7     		b	.L114
 2224              	.LVL318:
 2225              	.L120:
 2226              	.LBE82:
 2227              	.LBE88:
 2228              	.LBB89:
 2229              	.LBB87:
 2230              	.LBB86:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2231              		.loc 1 2186 0 discriminator 19
 2232 02d4 3E2B     		cmp	r3, #62
 2233 02d6 09D8     		bhi	.L121
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2234              		.loc 1 2186 0 discriminator 20
 2235 02d8 5C08     		lsrs	r4, r3, #1
 2236              	.LVL319:
 2237 02da 13F0010F 		tst	r3, #1
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 86


 2238 02de 00D0     		beq	.L122
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2239              		.loc 1 2186 0 discriminator 22
 2240 02e0 0134     		adds	r4, r4, #1
 2241              	.LVL320:
 2242              	.L122:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2243              		.loc 1 2186 0 discriminator 24
 2244 02e2 A402     		lsls	r4, r4, #10
 2245              	.LVL321:
 2246 02e4 A4B2     		uxth	r4, r4
 2247 02e6 A2F80C44 		strh	r4, [r2, #1036]	@ movhi
 2248 02ea AFE6     		b	.L110
 2249              	.L121:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2250              		.loc 1 2186 0 discriminator 21
 2251 02ec 5C09     		lsrs	r4, r3, #5
 2252              	.LVL322:
 2253 02ee 13F01F0F 		tst	r3, #31
 2254 02f2 00D1     		bne	.L123
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2255              		.loc 1 2186 0 discriminator 25
 2256 02f4 013C     		subs	r4, r4, #1
 2257              	.LVL323:
 2258              	.L123:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2259              		.loc 1 2186 0 discriminator 27
 2260 02f6 6FEAC463 		mvn	r3, r4, lsl #27
 2261              	.LVL324:
 2262 02fa 6FEA5343 		mvn	r3, r3, lsr #17
 2263 02fe 9BB2     		uxth	r3, r3
 2264 0300 A2F80C34 		strh	r3, [r2, #1036]	@ movhi
 2265 0304 A2E6     		b	.L110
 2266              	.LVL325:
 2267              	.L119:
 2268              	.LBE86:
 2269              	.LBE87:
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2270              		.loc 1 2186 0 discriminator 17
 2271 0306 012A     		cmp	r2, #1
 2272 0308 7FF4A0AE 		bne	.L110
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     }
 2273              		.loc 1 2186 0 discriminator 28
 2274 030c B0F85020 		ldrh	r2, [r0, #80]
 2275 0310 0244     		add	r2, r2, r0
 2276              	.LVL326:
 2277 0312 0C78     		ldrb	r4, [r1]	@ zero_extendqisi2
 2278 0314 02EB0412 		add	r2, r2, r4, lsl #4
 2279              	.LVL327:
 2280 0318 9BB2     		uxth	r3, r3
 2281              	.LVL328:
 2282 031a A2F80C34 		strh	r3, [r2, #1036]	@ movhi
 2283 031e 95E6     		b	.L110
 2284              	.LBE89:
 2285              		.cfi_endproc
 2286              	.LFE75:
 2288              		.section	.text.USB_ReadPMA,"ax",%progbits
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 87


 2289              		.align	1
 2290              		.global	USB_ReadPMA
 2291              		.syntax unified
 2292              		.thumb
 2293              		.thumb_func
 2294              		.fpu softvfp
 2296              	USB_ReadPMA:
 2297              	.LFB94:
2536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** /**
2538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @brief Copy a buffer from user memory area to packet memory area (PMA)
2539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param   USBx: USB peripheral instance register address.
2540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param   pbUsrBuf pointer to user memory area.
2541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param   wPMABufAddr address into PMA.
2542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @param   wNBytes: no. of bytes to be copied.
2543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   * @retval None
2544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   */
2545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** void USB_ReadPMA(USB_TypeDef *USBx, uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes)
2546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** {
 2298              		.loc 1 2546 0 is_stmt 1
 2299              		.cfi_startproc
 2300              		@ args = 0, pretend = 0, frame = 0
 2301              		@ frame_needed = 0, uses_anonymous_args = 0
 2302              		@ link register save eliminated.
 2303              	.LVL329:
 2304 0000 30B4     		push	{r4, r5}
 2305              	.LCFI15:
 2306              		.cfi_def_cfa_offset 8
 2307              		.cfi_offset 4, -8
 2308              		.cfi_offset 5, -4
2547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t n = (uint32_t)wNBytes >> 1;
 2309              		.loc 1 2547 0
 2310 0002 5D08     		lsrs	r5, r3, #1
 2311              	.LVL330:
2548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t BaseAddr = (uint32_t)USBx;
2549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint32_t i, temp;
2550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   __IO uint16_t *pdwVal;
2551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   uint8_t *pBuf = pbUsrBuf;
2552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   pdwVal = (__IO uint16_t *)(BaseAddr + 0x400U + ((uint32_t)wPMABufAddr * PMA_ACCESS));
 2312              		.loc 1 2553 0
 2313 0004 00EB4202 		add	r2, r0, r2, lsl #1
 2314              	.LVL331:
 2315 0008 02F58062 		add	r2, r2, #1024
 2316              	.LVL332:
2554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   for (i = n; i != 0U; i--)
 2317              		.loc 1 2555 0
 2318 000c 07E0     		b	.L128
 2319              	.LVL333:
 2320              	.L129:
2556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
2557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     temp = *(__IO uint16_t *)pdwVal;
 2321              		.loc 1 2557 0 discriminator 3
 2322 000e 32F8044B 		ldrh	r4, [r2], #4
 2323              	.LVL334:
 2324 0012 A4B2     		uxth	r4, r4
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 88


 2325              	.LVL335:
2558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     pdwVal++;
2559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     *pBuf = (uint8_t)((temp >> 0) & 0xFFU);
 2326              		.loc 1 2559 0 discriminator 3
 2327 0014 0C70     		strb	r4, [r1]
 2328              	.LVL336:
2560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     pBuf++;
2561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     *pBuf = (uint8_t)((temp >> 8) & 0xFFU);
 2329              		.loc 1 2561 0 discriminator 3
 2330 0016 240A     		lsrs	r4, r4, #8
 2331              	.LVL337:
 2332 0018 4C70     		strb	r4, [r1, #1]
2562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     pBuf++;
 2333              		.loc 1 2562 0 discriminator 3
 2334 001a 0231     		adds	r1, r1, #2
 2335              	.LVL338:
2555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 2336              		.loc 1 2555 0 discriminator 3
 2337 001c 013D     		subs	r5, r5, #1
 2338              	.LVL339:
 2339              	.L128:
2555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
 2340              		.loc 1 2555 0 is_stmt 0 discriminator 1
 2341 001e 002D     		cmp	r5, #0
 2342 0020 F5D1     		bne	.L129
2563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** #if PMA_ACCESS > 1U
2565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     pdwVal++;
2566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** #endif
2567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** 
2569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   if ((wNBytes % 2U) != 0U)
 2343              		.loc 1 2569 0 is_stmt 1
 2344 0022 13F0010F 		tst	r3, #1
 2345 0026 01D0     		beq	.L127
2570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   {
2571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     temp = *pdwVal;
 2346              		.loc 1 2571 0
 2347 0028 1388     		ldrh	r3, [r2]
 2348              	.LVL340:
2572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****     *pBuf = (uint8_t)((temp >> 0) & 0xFFU);
 2349              		.loc 1 2572 0
 2350 002a 0B70     		strb	r3, [r1]
 2351              	.LVL341:
 2352              	.L127:
2573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c ****   }
2574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c **** }
 2353              		.loc 1 2574 0
 2354 002c 30BC     		pop	{r4, r5}
 2355              	.LCFI16:
 2356              		.cfi_restore 5
 2357              		.cfi_restore 4
 2358              		.cfi_def_cfa_offset 0
 2359              	.LVL342:
 2360 002e 7047     		bx	lr
 2361              		.cfi_endproc
 2362              	.LFE94:
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 89


 2364              		.text
 2365              	.Letext0:
 2366              		.file 2 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 2367              		.file 3 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 2368              		.file 4 "Drivers/CMSIS/Include/core_cm3.h"
 2369              		.file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
 2370              		.file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
 2371              		.file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
 2372              		.file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h"
 2373              		.file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 90


DEFINED SYMBOLS
                            *ABS*:00000000 stm32f1xx_ll_usb.c
X:\TMP\USER_T~1\cca0mJID.s:16     .text.USB_CoreInit:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:23     .text.USB_CoreInit:00000000 USB_CoreInit
X:\TMP\USER_T~1\cca0mJID.s:48     .text.USB_EnableGlobalInt:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:55     .text.USB_EnableGlobalInt:00000000 USB_EnableGlobalInt
X:\TMP\USER_T~1\cca0mJID.s:75     .text.USB_DisableGlobalInt:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:82     .text.USB_DisableGlobalInt:00000000 USB_DisableGlobalInt
X:\TMP\USER_T~1\cca0mJID.s:104    .text.USB_SetCurrentMode:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:111    .text.USB_SetCurrentMode:00000000 USB_SetCurrentMode
X:\TMP\USER_T~1\cca0mJID.s:127    .text.USB_DevInit:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:134    .text.USB_DevInit:00000000 USB_DevInit
X:\TMP\USER_T~1\cca0mJID.s:183    .text.USB_SetDevSpeed:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:190    .text.USB_SetDevSpeed:00000000 USB_SetDevSpeed
X:\TMP\USER_T~1\cca0mJID.s:206    .text.USB_FlushTxFifo:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:213    .text.USB_FlushTxFifo:00000000 USB_FlushTxFifo
X:\TMP\USER_T~1\cca0mJID.s:229    .text.USB_FlushRxFifo:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:236    .text.USB_FlushRxFifo:00000000 USB_FlushRxFifo
X:\TMP\USER_T~1\cca0mJID.s:252    .text.USB_ActivateEndpoint:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:259    .text.USB_ActivateEndpoint:00000000 USB_ActivateEndpoint
X:\TMP\USER_T~1\cca0mJID.s:289    .text.USB_ActivateEndpoint:00000020 $d
X:\TMP\USER_T~1\cca0mJID.s:293    .text.USB_ActivateEndpoint:00000024 $t
X:\TMP\USER_T~1\cca0mJID.s:805    .text.USB_DeactivateEndpoint:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:812    .text.USB_DeactivateEndpoint:00000000 USB_DeactivateEndpoint
X:\TMP\USER_T~1\cca0mJID.s:1098   .text.USB_WritePacket:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1105   .text.USB_WritePacket:00000000 USB_WritePacket
X:\TMP\USER_T~1\cca0mJID.s:1121   .text.USB_ReadPacket:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1128   .text.USB_ReadPacket:00000000 USB_ReadPacket
X:\TMP\USER_T~1\cca0mJID.s:1144   .text.USB_EPSetStall:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1151   .text.USB_EPSetStall:00000000 USB_EPSetStall
X:\TMP\USER_T~1\cca0mJID.s:1204   .text.USB_EPClearStall:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1211   .text.USB_EPClearStall:00000000 USB_EPClearStall
X:\TMP\USER_T~1\cca0mJID.s:1315   .text.USB_StopDevice:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1322   .text.USB_StopDevice:00000000 USB_StopDevice
X:\TMP\USER_T~1\cca0mJID.s:1347   .text.USB_SetDevAddress:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1354   .text.USB_SetDevAddress:00000000 USB_SetDevAddress
X:\TMP\USER_T~1\cca0mJID.s:1376   .text.USB_DevConnect:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1383   .text.USB_DevConnect:00000000 USB_DevConnect
X:\TMP\USER_T~1\cca0mJID.s:1399   .text.USB_DevDisconnect:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1406   .text.USB_DevDisconnect:00000000 USB_DevDisconnect
X:\TMP\USER_T~1\cca0mJID.s:1422   .text.USB_ReadInterrupts:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1429   .text.USB_ReadInterrupts:00000000 USB_ReadInterrupts
X:\TMP\USER_T~1\cca0mJID.s:1446   .text.USB_ReadDevAllOutEpInterrupt:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1453   .text.USB_ReadDevAllOutEpInterrupt:00000000 USB_ReadDevAllOutEpInterrupt
X:\TMP\USER_T~1\cca0mJID.s:1469   .text.USB_ReadDevAllInEpInterrupt:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1476   .text.USB_ReadDevAllInEpInterrupt:00000000 USB_ReadDevAllInEpInterrupt
X:\TMP\USER_T~1\cca0mJID.s:1492   .text.USB_ReadDevOutEPInterrupt:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1499   .text.USB_ReadDevOutEPInterrupt:00000000 USB_ReadDevOutEPInterrupt
X:\TMP\USER_T~1\cca0mJID.s:1515   .text.USB_ReadDevInEPInterrupt:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1522   .text.USB_ReadDevInEPInterrupt:00000000 USB_ReadDevInEPInterrupt
X:\TMP\USER_T~1\cca0mJID.s:1538   .text.USB_ClearInterrupts:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1545   .text.USB_ClearInterrupts:00000000 USB_ClearInterrupts
X:\TMP\USER_T~1\cca0mJID.s:1559   .text.USB_EP0_OutStart:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1566   .text.USB_EP0_OutStart:00000000 USB_EP0_OutStart
X:\TMP\USER_T~1\cca0mJID.s:1582   .text.USB_ActivateRemoteWakeup:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1589   .text.USB_ActivateRemoteWakeup:00000000 USB_ActivateRemoteWakeup
X:\TMP\USER_T~1\cca0mJID.s:1609   .text.USB_DeActivateRemoteWakeup:00000000 $t
ARM GAS  X:\TMP\USER_T~1\cca0mJID.s 			page 91


X:\TMP\USER_T~1\cca0mJID.s:1616   .text.USB_DeActivateRemoteWakeup:00000000 USB_DeActivateRemoteWakeup
X:\TMP\USER_T~1\cca0mJID.s:1638   .text.USB_WritePMA:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1645   .text.USB_WritePMA:00000000 USB_WritePMA
X:\TMP\USER_T~1\cca0mJID.s:1705   .text.USB_EPStartXfer:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:1712   .text.USB_EPStartXfer:00000000 USB_EPStartXfer
X:\TMP\USER_T~1\cca0mJID.s:2289   .text.USB_ReadPMA:00000000 $t
X:\TMP\USER_T~1\cca0mJID.s:2296   .text.USB_ReadPMA:00000000 USB_ReadPMA

NO UNDEFINED SYMBOLS
