ARM GAS  X:\TMP\USER_T~1\cc5lncGH.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	"usbd_conf.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.section	.text.USBD_Get_USB_Status,"ax",%progbits
  16              		.align	1
  17              		.syntax unified
  18              		.thumb
  19              		.thumb_func
  20              		.fpu softvfp
  22              	USBD_Get_USB_Status:
  23              	.LFB99:
  24              		.file 1 "Src/usbd_conf.c"
   1:Src/usbd_conf.c **** /* USER CODE BEGIN Header */
   2:Src/usbd_conf.c **** /**
   3:Src/usbd_conf.c ****   ******************************************************************************
   4:Src/usbd_conf.c ****   * @file           : usbd_conf.c
   5:Src/usbd_conf.c ****   * @version        : v2.0_Cube
   6:Src/usbd_conf.c ****   * @brief          : This file implements the board support package for the USB device library
   7:Src/usbd_conf.c ****   ******************************************************************************
   8:Src/usbd_conf.c ****   * @attention
   9:Src/usbd_conf.c ****   *
  10:Src/usbd_conf.c ****   * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
  11:Src/usbd_conf.c ****   * All rights reserved.</center></h2>
  12:Src/usbd_conf.c ****   *
  13:Src/usbd_conf.c ****   * This software component is licensed by ST under Ultimate Liberty license
  14:Src/usbd_conf.c ****   * SLA0044, the "License"; You may not use this file except in compliance with
  15:Src/usbd_conf.c ****   * the License. You may obtain a copy of the License at:
  16:Src/usbd_conf.c ****   *                             www.st.com/SLA0044
  17:Src/usbd_conf.c ****   *
  18:Src/usbd_conf.c ****   ******************************************************************************
  19:Src/usbd_conf.c ****   */
  20:Src/usbd_conf.c **** /* USER CODE END Header */  
  21:Src/usbd_conf.c **** 
  22:Src/usbd_conf.c **** /* Includes ------------------------------------------------------------------*/
  23:Src/usbd_conf.c **** #include "stm32f1xx.h"
  24:Src/usbd_conf.c **** #include "stm32f1xx_hal.h"
  25:Src/usbd_conf.c **** #include "usbd_def.h"
  26:Src/usbd_conf.c **** #include "usbd_core.h"
  27:Src/usbd_conf.c **** #include "usbd_cdc.h"
  28:Src/usbd_conf.c **** 
  29:Src/usbd_conf.c **** /* USER CODE BEGIN Includes */
  30:Src/usbd_conf.c **** 
  31:Src/usbd_conf.c **** /* USER CODE END Includes */
  32:Src/usbd_conf.c **** 
  33:Src/usbd_conf.c **** /* Private typedef -----------------------------------------------------------*/
  34:Src/usbd_conf.c **** /* Private define ------------------------------------------------------------*/
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 2


  35:Src/usbd_conf.c **** /* Private macro -------------------------------------------------------------*/
  36:Src/usbd_conf.c **** 
  37:Src/usbd_conf.c **** /* USER CODE BEGIN PV */
  38:Src/usbd_conf.c **** /* Private variables ---------------------------------------------------------*/
  39:Src/usbd_conf.c **** 
  40:Src/usbd_conf.c **** /* USER CODE END PV */
  41:Src/usbd_conf.c **** 
  42:Src/usbd_conf.c **** PCD_HandleTypeDef hpcd_USB_FS;
  43:Src/usbd_conf.c **** void Error_Handler(void);
  44:Src/usbd_conf.c **** 
  45:Src/usbd_conf.c **** /* USER CODE BEGIN 0 */
  46:Src/usbd_conf.c **** 
  47:Src/usbd_conf.c **** /* USER CODE END 0 */
  48:Src/usbd_conf.c **** 
  49:Src/usbd_conf.c **** /* USER CODE BEGIN PFP */
  50:Src/usbd_conf.c **** /* Private function prototypes -----------------------------------------------*/
  51:Src/usbd_conf.c **** 
  52:Src/usbd_conf.c **** /* USER CODE END PFP */
  53:Src/usbd_conf.c **** 
  54:Src/usbd_conf.c **** /* Private functions ---------------------------------------------------------*/
  55:Src/usbd_conf.c **** static USBD_StatusTypeDef USBD_Get_USB_Status(HAL_StatusTypeDef hal_status);
  56:Src/usbd_conf.c **** /* USER CODE BEGIN 1 */
  57:Src/usbd_conf.c **** 
  58:Src/usbd_conf.c **** /* USER CODE END 1 */
  59:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
  60:Src/usbd_conf.c **** static void PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state);
  61:Src/usbd_conf.c **** else
  62:Src/usbd_conf.c **** void HAL_PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state);
  63:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
  64:Src/usbd_conf.c **** 
  65:Src/usbd_conf.c **** /*******************************************************************************
  66:Src/usbd_conf.c ****                        LL Driver Callbacks (PCD -> USB Device Library)
  67:Src/usbd_conf.c **** *******************************************************************************/
  68:Src/usbd_conf.c **** /* MSP Init */
  69:Src/usbd_conf.c **** 
  70:Src/usbd_conf.c **** void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle)
  71:Src/usbd_conf.c **** {
  72:Src/usbd_conf.c ****   if(pcdHandle->Instance==USB)
  73:Src/usbd_conf.c ****   {
  74:Src/usbd_conf.c ****   /* USER CODE BEGIN USB_MspInit 0 */
  75:Src/usbd_conf.c **** 
  76:Src/usbd_conf.c ****   /* USER CODE END USB_MspInit 0 */
  77:Src/usbd_conf.c ****     /* Peripheral clock enable */
  78:Src/usbd_conf.c ****     __HAL_RCC_USB_CLK_ENABLE();
  79:Src/usbd_conf.c **** 
  80:Src/usbd_conf.c ****     /* Peripheral interrupt init */
  81:Src/usbd_conf.c ****     HAL_NVIC_SetPriority(USB_LP_CAN1_RX0_IRQn, 0, 0);
  82:Src/usbd_conf.c ****     HAL_NVIC_EnableIRQ(USB_LP_CAN1_RX0_IRQn);
  83:Src/usbd_conf.c ****   /* USER CODE BEGIN USB_MspInit 1 */
  84:Src/usbd_conf.c **** 
  85:Src/usbd_conf.c ****   /* USER CODE END USB_MspInit 1 */
  86:Src/usbd_conf.c ****   }
  87:Src/usbd_conf.c **** }
  88:Src/usbd_conf.c **** 
  89:Src/usbd_conf.c **** void HAL_PCD_MspDeInit(PCD_HandleTypeDef* pcdHandle)
  90:Src/usbd_conf.c **** {
  91:Src/usbd_conf.c ****   if(pcdHandle->Instance==USB)
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 3


  92:Src/usbd_conf.c ****   {
  93:Src/usbd_conf.c ****   /* USER CODE BEGIN USB_MspDeInit 0 */
  94:Src/usbd_conf.c **** 
  95:Src/usbd_conf.c ****   /* USER CODE END USB_MspDeInit 0 */
  96:Src/usbd_conf.c ****     /* Peripheral clock disable */
  97:Src/usbd_conf.c ****     __HAL_RCC_USB_CLK_DISABLE();
  98:Src/usbd_conf.c **** 
  99:Src/usbd_conf.c ****     /* Peripheral interrupt Deinit*/
 100:Src/usbd_conf.c ****     HAL_NVIC_DisableIRQ(USB_LP_CAN1_RX0_IRQn);
 101:Src/usbd_conf.c **** 
 102:Src/usbd_conf.c ****   /* USER CODE BEGIN USB_MspDeInit 1 */
 103:Src/usbd_conf.c **** 
 104:Src/usbd_conf.c ****   /* USER CODE END USB_MspDeInit 1 */
 105:Src/usbd_conf.c ****   }
 106:Src/usbd_conf.c **** }
 107:Src/usbd_conf.c **** 
 108:Src/usbd_conf.c **** /**
 109:Src/usbd_conf.c ****   * @brief  Setup stage callback
 110:Src/usbd_conf.c ****   * @param  hpcd: PCD handle
 111:Src/usbd_conf.c ****   * @retval None
 112:Src/usbd_conf.c ****   */
 113:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 114:Src/usbd_conf.c **** static void PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd)
 115:Src/usbd_conf.c **** #else
 116:Src/usbd_conf.c **** void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd)
 117:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 118:Src/usbd_conf.c **** {
 119:Src/usbd_conf.c ****   USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup);
 120:Src/usbd_conf.c **** }
 121:Src/usbd_conf.c **** 
 122:Src/usbd_conf.c **** /**
 123:Src/usbd_conf.c ****   * @brief  Data Out stage callback.
 124:Src/usbd_conf.c ****   * @param  hpcd: PCD handle
 125:Src/usbd_conf.c ****   * @param  epnum: Endpoint number
 126:Src/usbd_conf.c ****   * @retval None
 127:Src/usbd_conf.c ****   */
 128:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 129:Src/usbd_conf.c **** static void PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
 130:Src/usbd_conf.c **** #else
 131:Src/usbd_conf.c **** void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
 132:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 133:Src/usbd_conf.c **** {
 134:Src/usbd_conf.c ****   USBD_LL_DataOutStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff);
 135:Src/usbd_conf.c **** }
 136:Src/usbd_conf.c **** 
 137:Src/usbd_conf.c **** /**
 138:Src/usbd_conf.c ****   * @brief  Data In stage callback.
 139:Src/usbd_conf.c ****   * @param  hpcd: PCD handle
 140:Src/usbd_conf.c ****   * @param  epnum: Endpoint number
 141:Src/usbd_conf.c ****   * @retval None
 142:Src/usbd_conf.c ****   */
 143:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 144:Src/usbd_conf.c **** static void PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
 145:Src/usbd_conf.c **** #else
 146:Src/usbd_conf.c **** void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
 147:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 148:Src/usbd_conf.c **** {
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 4


 149:Src/usbd_conf.c ****   USBD_LL_DataInStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff);
 150:Src/usbd_conf.c **** }
 151:Src/usbd_conf.c **** 
 152:Src/usbd_conf.c **** /**
 153:Src/usbd_conf.c ****   * @brief  SOF callback.
 154:Src/usbd_conf.c ****   * @param  hpcd: PCD handle
 155:Src/usbd_conf.c ****   * @retval None
 156:Src/usbd_conf.c ****   */
 157:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 158:Src/usbd_conf.c **** static void PCD_SOFCallback(PCD_HandleTypeDef *hpcd)
 159:Src/usbd_conf.c **** #else
 160:Src/usbd_conf.c **** void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd)
 161:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 162:Src/usbd_conf.c **** {
 163:Src/usbd_conf.c ****   USBD_LL_SOF((USBD_HandleTypeDef*)hpcd->pData);
 164:Src/usbd_conf.c **** }
 165:Src/usbd_conf.c **** 
 166:Src/usbd_conf.c **** /**
 167:Src/usbd_conf.c ****   * @brief  Reset callback.
 168:Src/usbd_conf.c ****   * @param  hpcd: PCD handle
 169:Src/usbd_conf.c ****   * @retval None
 170:Src/usbd_conf.c ****   */
 171:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 172:Src/usbd_conf.c **** static void PCD_ResetCallback(PCD_HandleTypeDef *hpcd)
 173:Src/usbd_conf.c **** #else
 174:Src/usbd_conf.c **** void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd)
 175:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 176:Src/usbd_conf.c **** { 
 177:Src/usbd_conf.c ****   USBD_SpeedTypeDef speed = USBD_SPEED_FULL;
 178:Src/usbd_conf.c **** 
 179:Src/usbd_conf.c ****   if ( hpcd->Init.speed != PCD_SPEED_FULL)
 180:Src/usbd_conf.c ****   {
 181:Src/usbd_conf.c ****     Error_Handler();
 182:Src/usbd_conf.c ****   }
 183:Src/usbd_conf.c ****     /* Set Speed. */
 184:Src/usbd_conf.c ****   USBD_LL_SetSpeed((USBD_HandleTypeDef*)hpcd->pData, speed);
 185:Src/usbd_conf.c **** 
 186:Src/usbd_conf.c ****   /* Reset Device. */
 187:Src/usbd_conf.c ****   USBD_LL_Reset((USBD_HandleTypeDef*)hpcd->pData);
 188:Src/usbd_conf.c **** }
 189:Src/usbd_conf.c **** 
 190:Src/usbd_conf.c **** /**
 191:Src/usbd_conf.c ****   * @brief  Suspend callback.
 192:Src/usbd_conf.c ****   * When Low power mode is enabled the debug cannot be used (IAR, Keil doesn't support it)
 193:Src/usbd_conf.c ****   * @param  hpcd: PCD handle
 194:Src/usbd_conf.c ****   * @retval None
 195:Src/usbd_conf.c ****   */
 196:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 197:Src/usbd_conf.c **** static void PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)
 198:Src/usbd_conf.c **** #else
 199:Src/usbd_conf.c **** void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)
 200:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 201:Src/usbd_conf.c **** {
 202:Src/usbd_conf.c ****   /* Inform USB library that core enters in suspend Mode. */
 203:Src/usbd_conf.c ****   USBD_LL_Suspend((USBD_HandleTypeDef*)hpcd->pData);
 204:Src/usbd_conf.c ****   /* Enter in STOP mode. */
 205:Src/usbd_conf.c ****   /* USER CODE BEGIN 2 */
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 5


 206:Src/usbd_conf.c ****   if (hpcd->Init.low_power_enable)
 207:Src/usbd_conf.c ****   {
 208:Src/usbd_conf.c ****     /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register. */
 209:Src/usbd_conf.c ****     SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk));
 210:Src/usbd_conf.c ****   }
 211:Src/usbd_conf.c ****   /* USER CODE END 2 */
 212:Src/usbd_conf.c **** }
 213:Src/usbd_conf.c **** 
 214:Src/usbd_conf.c **** /**
 215:Src/usbd_conf.c ****   * @brief  Resume callback.
 216:Src/usbd_conf.c ****   * When Low power mode is enabled the debug cannot be used (IAR, Keil doesn't support it)
 217:Src/usbd_conf.c ****   * @param  hpcd: PCD handle
 218:Src/usbd_conf.c ****   * @retval None
 219:Src/usbd_conf.c ****   */
 220:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 221:Src/usbd_conf.c **** static void PCD_ResumeCallback(PCD_HandleTypeDef *hpcd)
 222:Src/usbd_conf.c **** #else
 223:Src/usbd_conf.c **** void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd)
 224:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 225:Src/usbd_conf.c **** {
 226:Src/usbd_conf.c ****   /* USER CODE BEGIN 3 */
 227:Src/usbd_conf.c **** 
 228:Src/usbd_conf.c ****   /* USER CODE END 3 */
 229:Src/usbd_conf.c ****   USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData);
 230:Src/usbd_conf.c **** }
 231:Src/usbd_conf.c **** 
 232:Src/usbd_conf.c **** /**
 233:Src/usbd_conf.c ****   * @brief  ISOOUTIncomplete callback.
 234:Src/usbd_conf.c ****   * @param  hpcd: PCD handle
 235:Src/usbd_conf.c ****   * @param  epnum: Endpoint number
 236:Src/usbd_conf.c ****   * @retval None
 237:Src/usbd_conf.c ****   */
 238:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 239:Src/usbd_conf.c **** static void PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
 240:Src/usbd_conf.c **** #else
 241:Src/usbd_conf.c **** void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
 242:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 243:Src/usbd_conf.c **** {
 244:Src/usbd_conf.c ****   USBD_LL_IsoOUTIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum);
 245:Src/usbd_conf.c **** }
 246:Src/usbd_conf.c **** 
 247:Src/usbd_conf.c **** /**
 248:Src/usbd_conf.c ****   * @brief  ISOINIncomplete callback.
 249:Src/usbd_conf.c ****   * @param  hpcd: PCD handle
 250:Src/usbd_conf.c ****   * @param  epnum: Endpoint number
 251:Src/usbd_conf.c ****   * @retval None
 252:Src/usbd_conf.c ****   */
 253:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 254:Src/usbd_conf.c **** static void PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
 255:Src/usbd_conf.c **** #else
 256:Src/usbd_conf.c **** void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
 257:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 258:Src/usbd_conf.c **** {
 259:Src/usbd_conf.c ****   USBD_LL_IsoINIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum);
 260:Src/usbd_conf.c **** }
 261:Src/usbd_conf.c **** 
 262:Src/usbd_conf.c **** /**
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 6


 263:Src/usbd_conf.c ****   * @brief  Connect callback.
 264:Src/usbd_conf.c ****   * @param  hpcd: PCD handle
 265:Src/usbd_conf.c ****   * @retval None
 266:Src/usbd_conf.c ****   */
 267:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 268:Src/usbd_conf.c **** static void PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
 269:Src/usbd_conf.c **** #else
 270:Src/usbd_conf.c **** void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
 271:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 272:Src/usbd_conf.c **** {
 273:Src/usbd_conf.c ****   USBD_LL_DevConnected((USBD_HandleTypeDef*)hpcd->pData);
 274:Src/usbd_conf.c **** }
 275:Src/usbd_conf.c **** 
 276:Src/usbd_conf.c **** /**
 277:Src/usbd_conf.c ****   * @brief  Disconnect callback.
 278:Src/usbd_conf.c ****   * @param  hpcd: PCD handle
 279:Src/usbd_conf.c ****   * @retval None
 280:Src/usbd_conf.c ****   */
 281:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 282:Src/usbd_conf.c **** static void PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
 283:Src/usbd_conf.c **** #else
 284:Src/usbd_conf.c **** void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
 285:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 286:Src/usbd_conf.c **** {
 287:Src/usbd_conf.c ****   USBD_LL_DevDisconnected((USBD_HandleTypeDef*)hpcd->pData);
 288:Src/usbd_conf.c **** }
 289:Src/usbd_conf.c **** 
 290:Src/usbd_conf.c **** /*******************************************************************************
 291:Src/usbd_conf.c ****                        LL Driver Interface (USB Device Library --> PCD)
 292:Src/usbd_conf.c **** *******************************************************************************/
 293:Src/usbd_conf.c **** 
 294:Src/usbd_conf.c **** /**
 295:Src/usbd_conf.c ****   * @brief  Initializes the low level portion of the device driver.
 296:Src/usbd_conf.c ****   * @param  pdev: Device handle
 297:Src/usbd_conf.c ****   * @retval USBD status
 298:Src/usbd_conf.c ****   */
 299:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)
 300:Src/usbd_conf.c **** {
 301:Src/usbd_conf.c ****   /* Init USB Ip. */
 302:Src/usbd_conf.c ****   /* Link the driver to the stack. */
 303:Src/usbd_conf.c ****   hpcd_USB_FS.pData = pdev;
 304:Src/usbd_conf.c ****   pdev->pData = &hpcd_USB_FS;
 305:Src/usbd_conf.c **** 
 306:Src/usbd_conf.c ****   hpcd_USB_FS.Instance = USB;
 307:Src/usbd_conf.c ****   hpcd_USB_FS.Init.dev_endpoints = 8;
 308:Src/usbd_conf.c ****   hpcd_USB_FS.Init.speed = PCD_SPEED_FULL;
 309:Src/usbd_conf.c ****   hpcd_USB_FS.Init.low_power_enable = DISABLE;
 310:Src/usbd_conf.c ****   hpcd_USB_FS.Init.lpm_enable = DISABLE;
 311:Src/usbd_conf.c ****   hpcd_USB_FS.Init.battery_charging_enable = DISABLE;
 312:Src/usbd_conf.c ****   if (HAL_PCD_Init(&hpcd_USB_FS) != HAL_OK)
 313:Src/usbd_conf.c ****   {
 314:Src/usbd_conf.c ****     Error_Handler( );
 315:Src/usbd_conf.c ****   }
 316:Src/usbd_conf.c **** 
 317:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 318:Src/usbd_conf.c ****   /* Register USB PCD CallBacks */
 319:Src/usbd_conf.c ****   HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_SOF_CB_ID, PCD_SOFCallback);
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 7


 320:Src/usbd_conf.c ****   HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_SETUPSTAGE_CB_ID, PCD_SetupStageCallback);
 321:Src/usbd_conf.c ****   HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_RESET_CB_ID, PCD_ResetCallback);
 322:Src/usbd_conf.c ****   HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_SUSPEND_CB_ID, PCD_SuspendCallback);
 323:Src/usbd_conf.c ****   HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_RESUME_CB_ID, PCD_ResumeCallback);
 324:Src/usbd_conf.c ****   HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_CONNECT_CB_ID, PCD_ConnectCallback);
 325:Src/usbd_conf.c ****   HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_DISCONNECT_CB_ID, PCD_DisconnectCallback);
 326:Src/usbd_conf.c **** 
 327:Src/usbd_conf.c ****   HAL_PCD_RegisterDataOutStageCallback(&hpcd_USB_FS, PCD_DataOutStageCallback);
 328:Src/usbd_conf.c ****   HAL_PCD_RegisterDataInStageCallback(&hpcd_USB_FS, PCD_DataInStageCallback);
 329:Src/usbd_conf.c ****   HAL_PCD_RegisterIsoOutIncpltCallback(&hpcd_USB_FS, PCD_ISOOUTIncompleteCallback);
 330:Src/usbd_conf.c ****   HAL_PCD_RegisterIsoInIncpltCallback(&hpcd_USB_FS, PCD_ISOINIncompleteCallback);
 331:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 332:Src/usbd_conf.c ****   /* USER CODE BEGIN EndPoint_Configuration */
 333:Src/usbd_conf.c ****   HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x00 , PCD_SNG_BUF, 0x18);
 334:Src/usbd_conf.c ****   HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x80 , PCD_SNG_BUF, 0x58);
 335:Src/usbd_conf.c ****   /* USER CODE END EndPoint_Configuration */
 336:Src/usbd_conf.c ****   /* USER CODE BEGIN EndPoint_Configuration_CDC */
 337:Src/usbd_conf.c ****   HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x81 , PCD_SNG_BUF, 0xC0);
 338:Src/usbd_conf.c ****   HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x01 , PCD_SNG_BUF, 0x110);
 339:Src/usbd_conf.c ****   HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x82 , PCD_SNG_BUF, 0x100);
 340:Src/usbd_conf.c ****   /* USER CODE END EndPoint_Configuration_CDC */
 341:Src/usbd_conf.c ****   return USBD_OK;
 342:Src/usbd_conf.c **** }
 343:Src/usbd_conf.c **** 
 344:Src/usbd_conf.c **** /**
 345:Src/usbd_conf.c ****   * @brief  De-Initializes the low level portion of the device driver.
 346:Src/usbd_conf.c ****   * @param  pdev: Device handle
 347:Src/usbd_conf.c ****   * @retval USBD status
 348:Src/usbd_conf.c ****   */
 349:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_DeInit(USBD_HandleTypeDef *pdev)
 350:Src/usbd_conf.c **** {
 351:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 352:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 353:Src/usbd_conf.c **** 
 354:Src/usbd_conf.c ****   hal_status = HAL_PCD_DeInit(pdev->pData);
 355:Src/usbd_conf.c **** 
 356:Src/usbd_conf.c ****   usb_status =  USBD_Get_USB_Status(hal_status);
 357:Src/usbd_conf.c ****  
 358:Src/usbd_conf.c ****   return usb_status; 
 359:Src/usbd_conf.c **** }
 360:Src/usbd_conf.c **** 
 361:Src/usbd_conf.c **** /**
 362:Src/usbd_conf.c ****   * @brief  Starts the low level portion of the device driver.
 363:Src/usbd_conf.c ****   * @param  pdev: Device handle
 364:Src/usbd_conf.c ****   * @retval USBD status
 365:Src/usbd_conf.c ****   */
 366:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev)
 367:Src/usbd_conf.c **** {
 368:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 369:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 370:Src/usbd_conf.c ****  
 371:Src/usbd_conf.c ****   hal_status = HAL_PCD_Start(pdev->pData);
 372:Src/usbd_conf.c ****      
 373:Src/usbd_conf.c ****   usb_status =  USBD_Get_USB_Status(hal_status);
 374:Src/usbd_conf.c ****   
 375:Src/usbd_conf.c ****   return usb_status;
 376:Src/usbd_conf.c **** }
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 8


 377:Src/usbd_conf.c **** 
 378:Src/usbd_conf.c **** /**
 379:Src/usbd_conf.c ****   * @brief  Stops the low level portion of the device driver.
 380:Src/usbd_conf.c ****   * @param  pdev: Device handle
 381:Src/usbd_conf.c ****   * @retval USBD status
 382:Src/usbd_conf.c ****   */
 383:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Stop(USBD_HandleTypeDef *pdev)
 384:Src/usbd_conf.c **** {
 385:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 386:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 387:Src/usbd_conf.c **** 
 388:Src/usbd_conf.c ****   hal_status = HAL_PCD_Stop(pdev->pData);
 389:Src/usbd_conf.c **** 
 390:Src/usbd_conf.c ****   usb_status =  USBD_Get_USB_Status(hal_status);
 391:Src/usbd_conf.c ****   
 392:Src/usbd_conf.c ****   return usb_status;
 393:Src/usbd_conf.c **** }
 394:Src/usbd_conf.c **** 
 395:Src/usbd_conf.c **** /**
 396:Src/usbd_conf.c ****   * @brief  Opens an endpoint of the low level driver.
 397:Src/usbd_conf.c ****   * @param  pdev: Device handle
 398:Src/usbd_conf.c ****   * @param  ep_addr: Endpoint number
 399:Src/usbd_conf.c ****   * @param  ep_type: Endpoint type
 400:Src/usbd_conf.c ****   * @param  ep_mps: Endpoint max packet size
 401:Src/usbd_conf.c ****   * @retval USBD status
 402:Src/usbd_conf.c ****   */
 403:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t ep_type, uint1
 404:Src/usbd_conf.c **** {
 405:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 406:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 407:Src/usbd_conf.c **** 
 408:Src/usbd_conf.c ****   hal_status = HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type);
 409:Src/usbd_conf.c **** 
 410:Src/usbd_conf.c ****   usb_status =  USBD_Get_USB_Status(hal_status);
 411:Src/usbd_conf.c ****  
 412:Src/usbd_conf.c ****   return usb_status;
 413:Src/usbd_conf.c **** }
 414:Src/usbd_conf.c **** 
 415:Src/usbd_conf.c **** /**
 416:Src/usbd_conf.c ****   * @brief  Closes an endpoint of the low level driver.
 417:Src/usbd_conf.c ****   * @param  pdev: Device handle
 418:Src/usbd_conf.c ****   * @param  ep_addr: Endpoint number
 419:Src/usbd_conf.c ****   * @retval USBD status
 420:Src/usbd_conf.c ****   */
 421:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
 422:Src/usbd_conf.c **** {
 423:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 424:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 425:Src/usbd_conf.c ****   
 426:Src/usbd_conf.c ****   hal_status = HAL_PCD_EP_Close(pdev->pData, ep_addr);
 427:Src/usbd_conf.c ****       
 428:Src/usbd_conf.c ****   usb_status =  USBD_Get_USB_Status(hal_status);
 429:Src/usbd_conf.c **** 
 430:Src/usbd_conf.c ****   return usb_status;  
 431:Src/usbd_conf.c **** }
 432:Src/usbd_conf.c **** 
 433:Src/usbd_conf.c **** /**
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 9


 434:Src/usbd_conf.c ****   * @brief  Flushes an endpoint of the Low Level Driver.
 435:Src/usbd_conf.c ****   * @param  pdev: Device handle
 436:Src/usbd_conf.c ****   * @param  ep_addr: Endpoint number
 437:Src/usbd_conf.c ****   * @retval USBD status
 438:Src/usbd_conf.c ****   */
 439:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
 440:Src/usbd_conf.c **** {
 441:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 442:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 443:Src/usbd_conf.c ****   
 444:Src/usbd_conf.c ****   hal_status = HAL_PCD_EP_Flush(pdev->pData, ep_addr);
 445:Src/usbd_conf.c ****       
 446:Src/usbd_conf.c ****   usb_status =  USBD_Get_USB_Status(hal_status);
 447:Src/usbd_conf.c ****   
 448:Src/usbd_conf.c ****   return usb_status;  
 449:Src/usbd_conf.c **** }
 450:Src/usbd_conf.c **** 
 451:Src/usbd_conf.c **** /**
 452:Src/usbd_conf.c ****   * @brief  Sets a Stall condition on an endpoint of the Low Level Driver.
 453:Src/usbd_conf.c ****   * @param  pdev: Device handle
 454:Src/usbd_conf.c ****   * @param  ep_addr: Endpoint number
 455:Src/usbd_conf.c ****   * @retval USBD status
 456:Src/usbd_conf.c ****   */
 457:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
 458:Src/usbd_conf.c **** {
 459:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 460:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 461:Src/usbd_conf.c ****   
 462:Src/usbd_conf.c ****   hal_status = HAL_PCD_EP_SetStall(pdev->pData, ep_addr);
 463:Src/usbd_conf.c **** 
 464:Src/usbd_conf.c ****   usb_status =  USBD_Get_USB_Status(hal_status);
 465:Src/usbd_conf.c ****  
 466:Src/usbd_conf.c ****   return usb_status;  
 467:Src/usbd_conf.c **** }
 468:Src/usbd_conf.c **** 
 469:Src/usbd_conf.c **** /**
 470:Src/usbd_conf.c ****   * @brief  Clears a Stall condition on an endpoint of the Low Level Driver.
 471:Src/usbd_conf.c ****   * @param  pdev: Device handle
 472:Src/usbd_conf.c ****   * @param  ep_addr: Endpoint number
 473:Src/usbd_conf.c ****   * @retval USBD status
 474:Src/usbd_conf.c ****   */
 475:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
 476:Src/usbd_conf.c **** {
 477:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 478:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 479:Src/usbd_conf.c ****   
 480:Src/usbd_conf.c ****   hal_status = HAL_PCD_EP_ClrStall(pdev->pData, ep_addr);  
 481:Src/usbd_conf.c ****      
 482:Src/usbd_conf.c ****   usb_status =  USBD_Get_USB_Status(hal_status);
 483:Src/usbd_conf.c **** 
 484:Src/usbd_conf.c ****   return usb_status; 
 485:Src/usbd_conf.c **** }
 486:Src/usbd_conf.c **** 
 487:Src/usbd_conf.c **** /**
 488:Src/usbd_conf.c ****   * @brief  Returns Stall condition.
 489:Src/usbd_conf.c ****   * @param  pdev: Device handle
 490:Src/usbd_conf.c ****   * @param  ep_addr: Endpoint number
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 10


 491:Src/usbd_conf.c ****   * @retval Stall (1: Yes, 0: No)
 492:Src/usbd_conf.c ****   */
 493:Src/usbd_conf.c **** uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
 494:Src/usbd_conf.c **** {
 495:Src/usbd_conf.c ****   PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef*) pdev->pData;
 496:Src/usbd_conf.c ****   
 497:Src/usbd_conf.c ****   if((ep_addr & 0x80) == 0x80)
 498:Src/usbd_conf.c ****   {
 499:Src/usbd_conf.c ****     return hpcd->IN_ep[ep_addr & 0x7F].is_stall; 
 500:Src/usbd_conf.c ****   }
 501:Src/usbd_conf.c ****   else
 502:Src/usbd_conf.c ****   {
 503:Src/usbd_conf.c ****     return hpcd->OUT_ep[ep_addr & 0x7F].is_stall; 
 504:Src/usbd_conf.c ****   }
 505:Src/usbd_conf.c **** }
 506:Src/usbd_conf.c **** 
 507:Src/usbd_conf.c **** /**
 508:Src/usbd_conf.c ****   * @brief  Assigns a USB address to the device.
 509:Src/usbd_conf.c ****   * @param  pdev: Device handle
 510:Src/usbd_conf.c ****   * @param  dev_addr: Device address
 511:Src/usbd_conf.c ****   * @retval USBD status
 512:Src/usbd_conf.c ****   */
 513:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr)
 514:Src/usbd_conf.c **** {
 515:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 516:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 517:Src/usbd_conf.c ****   
 518:Src/usbd_conf.c ****   hal_status = HAL_PCD_SetAddress(pdev->pData, dev_addr);
 519:Src/usbd_conf.c ****      
 520:Src/usbd_conf.c ****   usb_status =  USBD_Get_USB_Status(hal_status);
 521:Src/usbd_conf.c ****  
 522:Src/usbd_conf.c ****   return usb_status;  
 523:Src/usbd_conf.c **** }
 524:Src/usbd_conf.c **** 
 525:Src/usbd_conf.c **** /**
 526:Src/usbd_conf.c ****   * @brief  Transmits data over an endpoint.
 527:Src/usbd_conf.c ****   * @param  pdev: Device handle
 528:Src/usbd_conf.c ****   * @param  ep_addr: Endpoint number
 529:Src/usbd_conf.c ****   * @param  pbuf: Pointer to data to be sent
 530:Src/usbd_conf.c ****   * @param  size: Data size    
 531:Src/usbd_conf.c ****   * @retval USBD status
 532:Src/usbd_conf.c ****   */
 533:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Transmit(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint1
 534:Src/usbd_conf.c **** {
 535:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 536:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 537:Src/usbd_conf.c **** 
 538:Src/usbd_conf.c ****   hal_status = HAL_PCD_EP_Transmit(pdev->pData, ep_addr, pbuf, size);
 539:Src/usbd_conf.c ****      
 540:Src/usbd_conf.c ****   usb_status =  USBD_Get_USB_Status(hal_status);
 541:Src/usbd_conf.c ****   
 542:Src/usbd_conf.c ****   return usb_status;    
 543:Src/usbd_conf.c **** }
 544:Src/usbd_conf.c **** 
 545:Src/usbd_conf.c **** /**
 546:Src/usbd_conf.c ****   * @brief  Prepares an endpoint for reception.
 547:Src/usbd_conf.c ****   * @param  pdev: Device handle
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 11


 548:Src/usbd_conf.c ****   * @param  ep_addr: Endpoint number
 549:Src/usbd_conf.c ****   * @param  pbuf: Pointer to data to be received
 550:Src/usbd_conf.c ****   * @param  size: Data size
 551:Src/usbd_conf.c ****   * @retval USBD status
 552:Src/usbd_conf.c ****   */
 553:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf,
 554:Src/usbd_conf.c **** {
 555:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 556:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 557:Src/usbd_conf.c **** 
 558:Src/usbd_conf.c ****   hal_status = HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size);
 559:Src/usbd_conf.c ****      
 560:Src/usbd_conf.c ****   usb_status =  USBD_Get_USB_Status(hal_status);
 561:Src/usbd_conf.c ****   	
 562:Src/usbd_conf.c ****   return usb_status; 
 563:Src/usbd_conf.c **** }
 564:Src/usbd_conf.c **** 
 565:Src/usbd_conf.c **** /**
 566:Src/usbd_conf.c ****   * @brief  Returns the last transfered packet size.
 567:Src/usbd_conf.c ****   * @param  pdev: Device handle
 568:Src/usbd_conf.c ****   * @param  ep_addr: Endpoint number
 569:Src/usbd_conf.c ****   * @retval Recived Data Size
 570:Src/usbd_conf.c ****   */
 571:Src/usbd_conf.c **** uint32_t USBD_LL_GetRxDataSize(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
 572:Src/usbd_conf.c **** {
 573:Src/usbd_conf.c ****   return HAL_PCD_EP_GetRxCount((PCD_HandleTypeDef*) pdev->pData, ep_addr);
 574:Src/usbd_conf.c **** }
 575:Src/usbd_conf.c **** 
 576:Src/usbd_conf.c **** /**
 577:Src/usbd_conf.c ****   * @brief  Delays routine for the USB device library.
 578:Src/usbd_conf.c ****   * @param  Delay: Delay in ms
 579:Src/usbd_conf.c ****   * @retval None
 580:Src/usbd_conf.c ****   */
 581:Src/usbd_conf.c **** void USBD_LL_Delay(uint32_t Delay)
 582:Src/usbd_conf.c **** {
 583:Src/usbd_conf.c ****   HAL_Delay(Delay);
 584:Src/usbd_conf.c **** }
 585:Src/usbd_conf.c **** 
 586:Src/usbd_conf.c **** /**
 587:Src/usbd_conf.c ****   * @brief  Static single allocation.
 588:Src/usbd_conf.c ****   * @param  size: Size of allocated memory
 589:Src/usbd_conf.c ****   * @retval None
 590:Src/usbd_conf.c ****   */
 591:Src/usbd_conf.c **** void *USBD_static_malloc(uint32_t size)
 592:Src/usbd_conf.c **** {
 593:Src/usbd_conf.c ****   static uint32_t mem[(sizeof(USBD_CDC_HandleTypeDef)/4)+1];/* On 32-bit boundary */
 594:Src/usbd_conf.c ****   return mem;
 595:Src/usbd_conf.c **** }
 596:Src/usbd_conf.c **** 
 597:Src/usbd_conf.c **** /**
 598:Src/usbd_conf.c ****   * @brief  Dummy memory free
 599:Src/usbd_conf.c ****   * @param  p: Pointer to allocated  memory address
 600:Src/usbd_conf.c ****   * @retval None
 601:Src/usbd_conf.c ****   */
 602:Src/usbd_conf.c **** void USBD_static_free(void *p)
 603:Src/usbd_conf.c **** {
 604:Src/usbd_conf.c **** 
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 12


 605:Src/usbd_conf.c **** }
 606:Src/usbd_conf.c **** 
 607:Src/usbd_conf.c **** /**
 608:Src/usbd_conf.c ****   * @brief Software Device Connection
 609:Src/usbd_conf.c ****   * @param hpcd: PCD handle
 610:Src/usbd_conf.c ****   * @param state: Connection state (0: disconnected / 1: connected)
 611:Src/usbd_conf.c ****   * @retval None
 612:Src/usbd_conf.c ****   */
 613:Src/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
 614:Src/usbd_conf.c **** static void PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state)
 615:Src/usbd_conf.c **** #else
 616:Src/usbd_conf.c **** void HAL_PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state)
 617:Src/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
 618:Src/usbd_conf.c **** {
 619:Src/usbd_conf.c ****   /* USER CODE BEGIN 6 */
 620:Src/usbd_conf.c ****   if (state == 1)
 621:Src/usbd_conf.c ****   {
 622:Src/usbd_conf.c ****     /* Configure Low connection state. */
 623:Src/usbd_conf.c **** 
 624:Src/usbd_conf.c ****   }
 625:Src/usbd_conf.c ****   else
 626:Src/usbd_conf.c ****   {
 627:Src/usbd_conf.c ****     /* Configure High connection state. */
 628:Src/usbd_conf.c **** 
 629:Src/usbd_conf.c ****   }
 630:Src/usbd_conf.c ****   /* USER CODE END 6 */
 631:Src/usbd_conf.c **** }
 632:Src/usbd_conf.c **** 
 633:Src/usbd_conf.c **** /**
 634:Src/usbd_conf.c ****   * @brief  Retuns the USB status depending on the HAL status:
 635:Src/usbd_conf.c ****   * @param  hal_status: HAL status
 636:Src/usbd_conf.c ****   * @retval USB status
 637:Src/usbd_conf.c ****   */
 638:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_Get_USB_Status(HAL_StatusTypeDef hal_status)
 639:Src/usbd_conf.c **** {
  25              		.loc 1 639 0
  26              		.cfi_startproc
  27              		@ args = 0, pretend = 0, frame = 0
  28              		@ frame_needed = 0, uses_anonymous_args = 0
  29              		@ link register save eliminated.
  30              	.LVL0:
 640:Src/usbd_conf.c ****   USBD_StatusTypeDef usb_status = USBD_OK;
 641:Src/usbd_conf.c **** 
 642:Src/usbd_conf.c ****   switch (hal_status)
  31              		.loc 1 642 0
  32 0000 18B1     		cbz	r0, .L3
  33 0002 0228     		cmp	r0, #2
  34 0004 03D0     		beq	.L4
 643:Src/usbd_conf.c ****   {
 644:Src/usbd_conf.c ****     case HAL_OK :
 645:Src/usbd_conf.c ****       usb_status = USBD_OK;
 646:Src/usbd_conf.c ****     break;
 647:Src/usbd_conf.c ****     case HAL_ERROR :
 648:Src/usbd_conf.c ****       usb_status = USBD_FAIL;
  35              		.loc 1 648 0
  36 0006 0220     		movs	r0, #2
  37              	.LVL1:
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 13


 649:Src/usbd_conf.c ****     break;
 650:Src/usbd_conf.c ****     case HAL_BUSY :
 651:Src/usbd_conf.c ****       usb_status = USBD_BUSY;
 652:Src/usbd_conf.c ****     break;
 653:Src/usbd_conf.c ****     case HAL_TIMEOUT :
 654:Src/usbd_conf.c ****       usb_status = USBD_FAIL;
 655:Src/usbd_conf.c ****     break;
 656:Src/usbd_conf.c ****     default :
 657:Src/usbd_conf.c ****       usb_status = USBD_FAIL;
 658:Src/usbd_conf.c ****     break;
 659:Src/usbd_conf.c ****   }
 660:Src/usbd_conf.c ****   return usb_status;
 661:Src/usbd_conf.c **** }
  38              		.loc 1 661 0
  39 0008 7047     		bx	lr
  40              	.LVL2:
  41              	.L3:
 645:Src/usbd_conf.c ****     break;
  42              		.loc 1 645 0
  43 000a 0020     		movs	r0, #0
  44              	.LVL3:
  45 000c 7047     		bx	lr
  46              	.LVL4:
  47              	.L4:
 651:Src/usbd_conf.c ****     break;
  48              		.loc 1 651 0
  49 000e 0120     		movs	r0, #1
  50              	.LVL5:
 652:Src/usbd_conf.c ****     case HAL_TIMEOUT :
  51              		.loc 1 652 0
  52 0010 7047     		bx	lr
  53              		.cfi_endproc
  54              	.LFE99:
  56              		.section	.text.HAL_PCD_MspInit,"ax",%progbits
  57              		.align	1
  58              		.global	HAL_PCD_MspInit
  59              		.syntax unified
  60              		.thumb
  61              		.thumb_func
  62              		.fpu softvfp
  64              	HAL_PCD_MspInit:
  65              	.LFB68:
  71:Src/usbd_conf.c ****   if(pcdHandle->Instance==USB)
  66              		.loc 1 71 0
  67              		.cfi_startproc
  68              		@ args = 0, pretend = 0, frame = 8
  69              		@ frame_needed = 0, uses_anonymous_args = 0
  70              	.LVL6:
  72:Src/usbd_conf.c ****   {
  71              		.loc 1 72 0
  72 0000 0268     		ldr	r2, [r0]
  73 0002 0E4B     		ldr	r3, .L14
  74 0004 9A42     		cmp	r2, r3
  75 0006 00D0     		beq	.L13
  76 0008 7047     		bx	lr
  77              	.L13:
  71:Src/usbd_conf.c ****   if(pcdHandle->Instance==USB)
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 14


  78              		.loc 1 71 0
  79 000a 00B5     		push	{lr}
  80              	.LCFI0:
  81              		.cfi_def_cfa_offset 4
  82              		.cfi_offset 14, -4
  83 000c 83B0     		sub	sp, sp, #12
  84              	.LCFI1:
  85              		.cfi_def_cfa_offset 16
  86              	.LBB2:
  78:Src/usbd_conf.c **** 
  87              		.loc 1 78 0
  88 000e 03F5DA33 		add	r3, r3, #111616
  89 0012 DA69     		ldr	r2, [r3, #28]
  90 0014 42F40002 		orr	r2, r2, #8388608
  91 0018 DA61     		str	r2, [r3, #28]
  92 001a DB69     		ldr	r3, [r3, #28]
  93 001c 03F40003 		and	r3, r3, #8388608
  94 0020 0193     		str	r3, [sp, #4]
  95 0022 019B     		ldr	r3, [sp, #4]
  96              	.LBE2:
  81:Src/usbd_conf.c ****     HAL_NVIC_EnableIRQ(USB_LP_CAN1_RX0_IRQn);
  97              		.loc 1 81 0
  98 0024 0022     		movs	r2, #0
  99 0026 1146     		mov	r1, r2
 100 0028 1420     		movs	r0, #20
 101              	.LVL7:
 102 002a FFF7FEFF 		bl	HAL_NVIC_SetPriority
 103              	.LVL8:
  82:Src/usbd_conf.c ****   /* USER CODE BEGIN USB_MspInit 1 */
 104              		.loc 1 82 0
 105 002e 1420     		movs	r0, #20
 106 0030 FFF7FEFF 		bl	HAL_NVIC_EnableIRQ
 107              	.LVL9:
  87:Src/usbd_conf.c **** 
 108              		.loc 1 87 0
 109 0034 03B0     		add	sp, sp, #12
 110              	.LCFI2:
 111              		.cfi_def_cfa_offset 4
 112              		@ sp needed
 113 0036 5DF804FB 		ldr	pc, [sp], #4
 114              	.L15:
 115 003a 00BF     		.align	2
 116              	.L14:
 117 003c 005C0040 		.word	1073765376
 118              		.cfi_endproc
 119              	.LFE68:
 121              		.section	.text.HAL_PCD_MspDeInit,"ax",%progbits
 122              		.align	1
 123              		.global	HAL_PCD_MspDeInit
 124              		.syntax unified
 125              		.thumb
 126              		.thumb_func
 127              		.fpu softvfp
 129              	HAL_PCD_MspDeInit:
 130              	.LFB69:
  90:Src/usbd_conf.c ****   if(pcdHandle->Instance==USB)
 131              		.loc 1 90 0
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 15


 132              		.cfi_startproc
 133              		@ args = 0, pretend = 0, frame = 0
 134              		@ frame_needed = 0, uses_anonymous_args = 0
 135              	.LVL10:
 136 0000 08B5     		push	{r3, lr}
 137              	.LCFI3:
 138              		.cfi_def_cfa_offset 8
 139              		.cfi_offset 3, -8
 140              		.cfi_offset 14, -4
  91:Src/usbd_conf.c ****   {
 141              		.loc 1 91 0
 142 0002 0268     		ldr	r2, [r0]
 143 0004 064B     		ldr	r3, .L20
 144 0006 9A42     		cmp	r2, r3
 145 0008 00D0     		beq	.L19
 146              	.LVL11:
 147              	.L16:
 106:Src/usbd_conf.c **** 
 148              		.loc 1 106 0
 149 000a 08BD     		pop	{r3, pc}
 150              	.LVL12:
 151              	.L19:
  97:Src/usbd_conf.c **** 
 152              		.loc 1 97 0
 153 000c 054A     		ldr	r2, .L20+4
 154 000e D369     		ldr	r3, [r2, #28]
 155 0010 23F40003 		bic	r3, r3, #8388608
 156 0014 D361     		str	r3, [r2, #28]
 100:Src/usbd_conf.c **** 
 157              		.loc 1 100 0
 158 0016 1420     		movs	r0, #20
 159              	.LVL13:
 160 0018 FFF7FEFF 		bl	HAL_NVIC_DisableIRQ
 161              	.LVL14:
 106:Src/usbd_conf.c **** 
 162              		.loc 1 106 0
 163 001c F5E7     		b	.L16
 164              	.L21:
 165 001e 00BF     		.align	2
 166              	.L20:
 167 0020 005C0040 		.word	1073765376
 168 0024 00100240 		.word	1073876992
 169              		.cfi_endproc
 170              	.LFE69:
 172              		.section	.text.HAL_PCD_SetupStageCallback,"ax",%progbits
 173              		.align	1
 174              		.global	HAL_PCD_SetupStageCallback
 175              		.syntax unified
 176              		.thumb
 177              		.thumb_func
 178              		.fpu softvfp
 180              	HAL_PCD_SetupStageCallback:
 181              	.LFB70:
 118:Src/usbd_conf.c ****   USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup);
 182              		.loc 1 118 0
 183              		.cfi_startproc
 184              		@ args = 0, pretend = 0, frame = 0
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 16


 185              		@ frame_needed = 0, uses_anonymous_args = 0
 186              	.LVL15:
 187 0000 08B5     		push	{r3, lr}
 188              	.LCFI4:
 189              		.cfi_def_cfa_offset 8
 190              		.cfi_offset 3, -8
 191              		.cfi_offset 14, -4
 119:Src/usbd_conf.c **** }
 192              		.loc 1 119 0
 193 0002 00F50C71 		add	r1, r0, #560
 194 0006 D0F86802 		ldr	r0, [r0, #616]
 195              	.LVL16:
 196 000a FFF7FEFF 		bl	USBD_LL_SetupStage
 197              	.LVL17:
 120:Src/usbd_conf.c **** 
 198              		.loc 1 120 0
 199 000e 08BD     		pop	{r3, pc}
 200              		.cfi_endproc
 201              	.LFE70:
 203              		.section	.text.HAL_PCD_DataOutStageCallback,"ax",%progbits
 204              		.align	1
 205              		.global	HAL_PCD_DataOutStageCallback
 206              		.syntax unified
 207              		.thumb
 208              		.thumb_func
 209              		.fpu softvfp
 211              	HAL_PCD_DataOutStageCallback:
 212              	.LFB71:
 133:Src/usbd_conf.c ****   USBD_LL_DataOutStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff);
 213              		.loc 1 133 0
 214              		.cfi_startproc
 215              		@ args = 0, pretend = 0, frame = 0
 216              		@ frame_needed = 0, uses_anonymous_args = 0
 217              	.LVL18:
 218 0000 08B5     		push	{r3, lr}
 219              	.LCFI5:
 220              		.cfi_def_cfa_offset 8
 221              		.cfi_offset 3, -8
 222              		.cfi_offset 14, -4
 134:Src/usbd_conf.c **** }
 223              		.loc 1 134 0
 224 0002 00EB4113 		add	r3, r0, r1, lsl #5
 225 0006 D3F83C21 		ldr	r2, [r3, #316]
 226 000a D0F86802 		ldr	r0, [r0, #616]
 227              	.LVL19:
 228 000e FFF7FEFF 		bl	USBD_LL_DataOutStage
 229              	.LVL20:
 135:Src/usbd_conf.c **** 
 230              		.loc 1 135 0
 231 0012 08BD     		pop	{r3, pc}
 232              		.cfi_endproc
 233              	.LFE71:
 235              		.section	.text.HAL_PCD_DataInStageCallback,"ax",%progbits
 236              		.align	1
 237              		.global	HAL_PCD_DataInStageCallback
 238              		.syntax unified
 239              		.thumb
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 17


 240              		.thumb_func
 241              		.fpu softvfp
 243              	HAL_PCD_DataInStageCallback:
 244              	.LFB72:
 148:Src/usbd_conf.c ****   USBD_LL_DataInStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff);
 245              		.loc 1 148 0
 246              		.cfi_startproc
 247              		@ args = 0, pretend = 0, frame = 0
 248              		@ frame_needed = 0, uses_anonymous_args = 0
 249              	.LVL21:
 250 0000 08B5     		push	{r3, lr}
 251              	.LCFI6:
 252              		.cfi_def_cfa_offset 8
 253              		.cfi_offset 3, -8
 254              		.cfi_offset 14, -4
 149:Src/usbd_conf.c **** }
 255              		.loc 1 149 0
 256 0002 00EB4113 		add	r3, r0, r1, lsl #5
 257 0006 DA6B     		ldr	r2, [r3, #60]
 258 0008 D0F86802 		ldr	r0, [r0, #616]
 259              	.LVL22:
 260 000c FFF7FEFF 		bl	USBD_LL_DataInStage
 261              	.LVL23:
 150:Src/usbd_conf.c **** 
 262              		.loc 1 150 0
 263 0010 08BD     		pop	{r3, pc}
 264              		.cfi_endproc
 265              	.LFE72:
 267              		.section	.text.HAL_PCD_SOFCallback,"ax",%progbits
 268              		.align	1
 269              		.global	HAL_PCD_SOFCallback
 270              		.syntax unified
 271              		.thumb
 272              		.thumb_func
 273              		.fpu softvfp
 275              	HAL_PCD_SOFCallback:
 276              	.LFB73:
 162:Src/usbd_conf.c ****   USBD_LL_SOF((USBD_HandleTypeDef*)hpcd->pData);
 277              		.loc 1 162 0
 278              		.cfi_startproc
 279              		@ args = 0, pretend = 0, frame = 0
 280              		@ frame_needed = 0, uses_anonymous_args = 0
 281              	.LVL24:
 282 0000 08B5     		push	{r3, lr}
 283              	.LCFI7:
 284              		.cfi_def_cfa_offset 8
 285              		.cfi_offset 3, -8
 286              		.cfi_offset 14, -4
 163:Src/usbd_conf.c **** }
 287              		.loc 1 163 0
 288 0002 D0F86802 		ldr	r0, [r0, #616]
 289              	.LVL25:
 290 0006 FFF7FEFF 		bl	USBD_LL_SOF
 291              	.LVL26:
 164:Src/usbd_conf.c **** 
 292              		.loc 1 164 0
 293 000a 08BD     		pop	{r3, pc}
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 18


 294              		.cfi_endproc
 295              	.LFE73:
 297              		.section	.text.HAL_PCD_ResetCallback,"ax",%progbits
 298              		.align	1
 299              		.global	HAL_PCD_ResetCallback
 300              		.syntax unified
 301              		.thumb
 302              		.thumb_func
 303              		.fpu softvfp
 305              	HAL_PCD_ResetCallback:
 306              	.LFB74:
 176:Src/usbd_conf.c ****   USBD_SpeedTypeDef speed = USBD_SPEED_FULL;
 307              		.loc 1 176 0
 308              		.cfi_startproc
 309              		@ args = 0, pretend = 0, frame = 0
 310              		@ frame_needed = 0, uses_anonymous_args = 0
 311              	.LVL27:
 312 0000 10B5     		push	{r4, lr}
 313              	.LCFI8:
 314              		.cfi_def_cfa_offset 8
 315              		.cfi_offset 4, -8
 316              		.cfi_offset 14, -4
 317 0002 0446     		mov	r4, r0
 318              	.LVL28:
 179:Src/usbd_conf.c ****   {
 319              		.loc 1 179 0
 320 0004 8368     		ldr	r3, [r0, #8]
 321 0006 022B     		cmp	r3, #2
 322 0008 01D0     		beq	.L31
 181:Src/usbd_conf.c ****   }
 323              		.loc 1 181 0
 324 000a FFF7FEFF 		bl	Error_Handler
 325              	.LVL29:
 326              	.L31:
 184:Src/usbd_conf.c **** 
 327              		.loc 1 184 0
 328 000e 0121     		movs	r1, #1
 329 0010 D4F86802 		ldr	r0, [r4, #616]
 330 0014 FFF7FEFF 		bl	USBD_LL_SetSpeed
 331              	.LVL30:
 187:Src/usbd_conf.c **** }
 332              		.loc 1 187 0
 333 0018 D4F86802 		ldr	r0, [r4, #616]
 334 001c FFF7FEFF 		bl	USBD_LL_Reset
 335              	.LVL31:
 188:Src/usbd_conf.c **** 
 336              		.loc 1 188 0
 337 0020 10BD     		pop	{r4, pc}
 338              		.cfi_endproc
 339              	.LFE74:
 341              		.section	.text.HAL_PCD_SuspendCallback,"ax",%progbits
 342              		.align	1
 343              		.global	HAL_PCD_SuspendCallback
 344              		.syntax unified
 345              		.thumb
 346              		.thumb_func
 347              		.fpu softvfp
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 19


 349              	HAL_PCD_SuspendCallback:
 350              	.LFB75:
 201:Src/usbd_conf.c ****   /* Inform USB library that core enters in suspend Mode. */
 351              		.loc 1 201 0
 352              		.cfi_startproc
 353              		@ args = 0, pretend = 0, frame = 0
 354              		@ frame_needed = 0, uses_anonymous_args = 0
 355              	.LVL32:
 356 0000 10B5     		push	{r4, lr}
 357              	.LCFI9:
 358              		.cfi_def_cfa_offset 8
 359              		.cfi_offset 4, -8
 360              		.cfi_offset 14, -4
 361 0002 0446     		mov	r4, r0
 203:Src/usbd_conf.c ****   /* Enter in STOP mode. */
 362              		.loc 1 203 0
 363 0004 D0F86802 		ldr	r0, [r0, #616]
 364              	.LVL33:
 365 0008 FFF7FEFF 		bl	USBD_LL_Suspend
 366              	.LVL34:
 206:Src/usbd_conf.c ****   {
 367              		.loc 1 206 0
 368 000c A369     		ldr	r3, [r4, #24]
 369 000e 23B1     		cbz	r3, .L33
 209:Src/usbd_conf.c ****   }
 370              		.loc 1 209 0
 371 0010 024A     		ldr	r2, .L36
 372 0012 1369     		ldr	r3, [r2, #16]
 373 0014 43F00603 		orr	r3, r3, #6
 374 0018 1361     		str	r3, [r2, #16]
 375              	.L33:
 212:Src/usbd_conf.c **** 
 376              		.loc 1 212 0
 377 001a 10BD     		pop	{r4, pc}
 378              	.LVL35:
 379              	.L37:
 380              		.align	2
 381              	.L36:
 382 001c 00ED00E0 		.word	-536810240
 383              		.cfi_endproc
 384              	.LFE75:
 386              		.section	.text.HAL_PCD_ResumeCallback,"ax",%progbits
 387              		.align	1
 388              		.global	HAL_PCD_ResumeCallback
 389              		.syntax unified
 390              		.thumb
 391              		.thumb_func
 392              		.fpu softvfp
 394              	HAL_PCD_ResumeCallback:
 395              	.LFB76:
 225:Src/usbd_conf.c ****   /* USER CODE BEGIN 3 */
 396              		.loc 1 225 0
 397              		.cfi_startproc
 398              		@ args = 0, pretend = 0, frame = 0
 399              		@ frame_needed = 0, uses_anonymous_args = 0
 400              	.LVL36:
 401 0000 08B5     		push	{r3, lr}
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 20


 402              	.LCFI10:
 403              		.cfi_def_cfa_offset 8
 404              		.cfi_offset 3, -8
 405              		.cfi_offset 14, -4
 229:Src/usbd_conf.c **** }
 406              		.loc 1 229 0
 407 0002 D0F86802 		ldr	r0, [r0, #616]
 408              	.LVL37:
 409 0006 FFF7FEFF 		bl	USBD_LL_Resume
 410              	.LVL38:
 230:Src/usbd_conf.c **** 
 411              		.loc 1 230 0
 412 000a 08BD     		pop	{r3, pc}
 413              		.cfi_endproc
 414              	.LFE76:
 416              		.section	.text.HAL_PCD_ISOOUTIncompleteCallback,"ax",%progbits
 417              		.align	1
 418              		.global	HAL_PCD_ISOOUTIncompleteCallback
 419              		.syntax unified
 420              		.thumb
 421              		.thumb_func
 422              		.fpu softvfp
 424              	HAL_PCD_ISOOUTIncompleteCallback:
 425              	.LFB77:
 243:Src/usbd_conf.c ****   USBD_LL_IsoOUTIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum);
 426              		.loc 1 243 0
 427              		.cfi_startproc
 428              		@ args = 0, pretend = 0, frame = 0
 429              		@ frame_needed = 0, uses_anonymous_args = 0
 430              	.LVL39:
 431 0000 08B5     		push	{r3, lr}
 432              	.LCFI11:
 433              		.cfi_def_cfa_offset 8
 434              		.cfi_offset 3, -8
 435              		.cfi_offset 14, -4
 244:Src/usbd_conf.c **** }
 436              		.loc 1 244 0
 437 0002 D0F86802 		ldr	r0, [r0, #616]
 438              	.LVL40:
 439 0006 FFF7FEFF 		bl	USBD_LL_IsoOUTIncomplete
 440              	.LVL41:
 245:Src/usbd_conf.c **** 
 441              		.loc 1 245 0
 442 000a 08BD     		pop	{r3, pc}
 443              		.cfi_endproc
 444              	.LFE77:
 446              		.section	.text.HAL_PCD_ISOINIncompleteCallback,"ax",%progbits
 447              		.align	1
 448              		.global	HAL_PCD_ISOINIncompleteCallback
 449              		.syntax unified
 450              		.thumb
 451              		.thumb_func
 452              		.fpu softvfp
 454              	HAL_PCD_ISOINIncompleteCallback:
 455              	.LFB78:
 258:Src/usbd_conf.c ****   USBD_LL_IsoINIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum);
 456              		.loc 1 258 0
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 21


 457              		.cfi_startproc
 458              		@ args = 0, pretend = 0, frame = 0
 459              		@ frame_needed = 0, uses_anonymous_args = 0
 460              	.LVL42:
 461 0000 08B5     		push	{r3, lr}
 462              	.LCFI12:
 463              		.cfi_def_cfa_offset 8
 464              		.cfi_offset 3, -8
 465              		.cfi_offset 14, -4
 259:Src/usbd_conf.c **** }
 466              		.loc 1 259 0
 467 0002 D0F86802 		ldr	r0, [r0, #616]
 468              	.LVL43:
 469 0006 FFF7FEFF 		bl	USBD_LL_IsoINIncomplete
 470              	.LVL44:
 260:Src/usbd_conf.c **** 
 471              		.loc 1 260 0
 472 000a 08BD     		pop	{r3, pc}
 473              		.cfi_endproc
 474              	.LFE78:
 476              		.section	.text.HAL_PCD_ConnectCallback,"ax",%progbits
 477              		.align	1
 478              		.global	HAL_PCD_ConnectCallback
 479              		.syntax unified
 480              		.thumb
 481              		.thumb_func
 482              		.fpu softvfp
 484              	HAL_PCD_ConnectCallback:
 485              	.LFB79:
 272:Src/usbd_conf.c ****   USBD_LL_DevConnected((USBD_HandleTypeDef*)hpcd->pData);
 486              		.loc 1 272 0
 487              		.cfi_startproc
 488              		@ args = 0, pretend = 0, frame = 0
 489              		@ frame_needed = 0, uses_anonymous_args = 0
 490              	.LVL45:
 491 0000 08B5     		push	{r3, lr}
 492              	.LCFI13:
 493              		.cfi_def_cfa_offset 8
 494              		.cfi_offset 3, -8
 495              		.cfi_offset 14, -4
 273:Src/usbd_conf.c **** }
 496              		.loc 1 273 0
 497 0002 D0F86802 		ldr	r0, [r0, #616]
 498              	.LVL46:
 499 0006 FFF7FEFF 		bl	USBD_LL_DevConnected
 500              	.LVL47:
 274:Src/usbd_conf.c **** 
 501              		.loc 1 274 0
 502 000a 08BD     		pop	{r3, pc}
 503              		.cfi_endproc
 504              	.LFE79:
 506              		.section	.text.HAL_PCD_DisconnectCallback,"ax",%progbits
 507              		.align	1
 508              		.global	HAL_PCD_DisconnectCallback
 509              		.syntax unified
 510              		.thumb
 511              		.thumb_func
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 22


 512              		.fpu softvfp
 514              	HAL_PCD_DisconnectCallback:
 515              	.LFB80:
 286:Src/usbd_conf.c ****   USBD_LL_DevDisconnected((USBD_HandleTypeDef*)hpcd->pData);
 516              		.loc 1 286 0
 517              		.cfi_startproc
 518              		@ args = 0, pretend = 0, frame = 0
 519              		@ frame_needed = 0, uses_anonymous_args = 0
 520              	.LVL48:
 521 0000 08B5     		push	{r3, lr}
 522              	.LCFI14:
 523              		.cfi_def_cfa_offset 8
 524              		.cfi_offset 3, -8
 525              		.cfi_offset 14, -4
 287:Src/usbd_conf.c **** }
 526              		.loc 1 287 0
 527 0002 D0F86802 		ldr	r0, [r0, #616]
 528              	.LVL49:
 529 0006 FFF7FEFF 		bl	USBD_LL_DevDisconnected
 530              	.LVL50:
 288:Src/usbd_conf.c **** 
 531              		.loc 1 288 0
 532 000a 08BD     		pop	{r3, pc}
 533              		.cfi_endproc
 534              	.LFE80:
 536              		.section	.text.USBD_LL_Init,"ax",%progbits
 537              		.align	1
 538              		.global	USBD_LL_Init
 539              		.syntax unified
 540              		.thumb
 541              		.thumb_func
 542              		.fpu softvfp
 544              	USBD_LL_Init:
 545              	.LFB81:
 300:Src/usbd_conf.c ****   /* Init USB Ip. */
 546              		.loc 1 300 0
 547              		.cfi_startproc
 548              		@ args = 0, pretend = 0, frame = 0
 549              		@ frame_needed = 0, uses_anonymous_args = 0
 550              	.LVL51:
 551 0000 10B5     		push	{r4, lr}
 552              	.LCFI15:
 553              		.cfi_def_cfa_offset 8
 554              		.cfi_offset 4, -8
 555              		.cfi_offset 14, -4
 556 0002 0446     		mov	r4, r0
 303:Src/usbd_conf.c ****   pdev->pData = &hpcd_USB_FS;
 557              		.loc 1 303 0
 558 0004 1D48     		ldr	r0, .L52
 559              	.LVL52:
 560 0006 C0F86842 		str	r4, [r0, #616]
 304:Src/usbd_conf.c **** 
 561              		.loc 1 304 0
 562 000a C4F8C002 		str	r0, [r4, #704]
 306:Src/usbd_conf.c ****   hpcd_USB_FS.Init.dev_endpoints = 8;
 563              		.loc 1 306 0
 564 000e 1C4B     		ldr	r3, .L52+4
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 23


 565 0010 0360     		str	r3, [r0]
 307:Src/usbd_conf.c ****   hpcd_USB_FS.Init.speed = PCD_SPEED_FULL;
 566              		.loc 1 307 0
 567 0012 0823     		movs	r3, #8
 568 0014 4360     		str	r3, [r0, #4]
 308:Src/usbd_conf.c ****   hpcd_USB_FS.Init.low_power_enable = DISABLE;
 569              		.loc 1 308 0
 570 0016 0223     		movs	r3, #2
 571 0018 8360     		str	r3, [r0, #8]
 309:Src/usbd_conf.c ****   hpcd_USB_FS.Init.lpm_enable = DISABLE;
 572              		.loc 1 309 0
 573 001a 0023     		movs	r3, #0
 574 001c 8361     		str	r3, [r0, #24]
 310:Src/usbd_conf.c ****   hpcd_USB_FS.Init.battery_charging_enable = DISABLE;
 575              		.loc 1 310 0
 576 001e C361     		str	r3, [r0, #28]
 311:Src/usbd_conf.c ****   if (HAL_PCD_Init(&hpcd_USB_FS) != HAL_OK)
 577              		.loc 1 311 0
 578 0020 0362     		str	r3, [r0, #32]
 312:Src/usbd_conf.c ****   {
 579              		.loc 1 312 0
 580 0022 FFF7FEFF 		bl	HAL_PCD_Init
 581              	.LVL53:
 582 0026 30BB     		cbnz	r0, .L51
 583              	.L49:
 333:Src/usbd_conf.c ****   HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x80 , PCD_SNG_BUF, 0x58);
 584              		.loc 1 333 0
 585 0028 1823     		movs	r3, #24
 586 002a 0022     		movs	r2, #0
 587 002c 1146     		mov	r1, r2
 588 002e D4F8C002 		ldr	r0, [r4, #704]
 589 0032 FFF7FEFF 		bl	HAL_PCDEx_PMAConfig
 590              	.LVL54:
 334:Src/usbd_conf.c ****   /* USER CODE END EndPoint_Configuration */
 591              		.loc 1 334 0
 592 0036 5823     		movs	r3, #88
 593 0038 0022     		movs	r2, #0
 594 003a 8021     		movs	r1, #128
 595 003c D4F8C002 		ldr	r0, [r4, #704]
 596 0040 FFF7FEFF 		bl	HAL_PCDEx_PMAConfig
 597              	.LVL55:
 337:Src/usbd_conf.c ****   HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x01 , PCD_SNG_BUF, 0x110);
 598              		.loc 1 337 0
 599 0044 C023     		movs	r3, #192
 600 0046 0022     		movs	r2, #0
 601 0048 8121     		movs	r1, #129
 602 004a D4F8C002 		ldr	r0, [r4, #704]
 603 004e FFF7FEFF 		bl	HAL_PCDEx_PMAConfig
 604              	.LVL56:
 338:Src/usbd_conf.c ****   HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x82 , PCD_SNG_BUF, 0x100);
 605              		.loc 1 338 0
 606 0052 4FF48873 		mov	r3, #272
 607 0056 0022     		movs	r2, #0
 608 0058 0121     		movs	r1, #1
 609 005a D4F8C002 		ldr	r0, [r4, #704]
 610 005e FFF7FEFF 		bl	HAL_PCDEx_PMAConfig
 611              	.LVL57:
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 24


 339:Src/usbd_conf.c ****   /* USER CODE END EndPoint_Configuration_CDC */
 612              		.loc 1 339 0
 613 0062 4FF48073 		mov	r3, #256
 614 0066 0022     		movs	r2, #0
 615 0068 8221     		movs	r1, #130
 616 006a D4F8C002 		ldr	r0, [r4, #704]
 617 006e FFF7FEFF 		bl	HAL_PCDEx_PMAConfig
 618              	.LVL58:
 342:Src/usbd_conf.c **** 
 619              		.loc 1 342 0
 620 0072 0020     		movs	r0, #0
 621 0074 10BD     		pop	{r4, pc}
 622              	.LVL59:
 623              	.L51:
 314:Src/usbd_conf.c ****   }
 624              		.loc 1 314 0
 625 0076 FFF7FEFF 		bl	Error_Handler
 626              	.LVL60:
 627 007a D5E7     		b	.L49
 628              	.L53:
 629              		.align	2
 630              	.L52:
 631 007c 00000000 		.word	hpcd_USB_FS
 632 0080 005C0040 		.word	1073765376
 633              		.cfi_endproc
 634              	.LFE81:
 636              		.section	.text.USBD_LL_DeInit,"ax",%progbits
 637              		.align	1
 638              		.global	USBD_LL_DeInit
 639              		.syntax unified
 640              		.thumb
 641              		.thumb_func
 642              		.fpu softvfp
 644              	USBD_LL_DeInit:
 645              	.LFB82:
 350:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 646              		.loc 1 350 0
 647              		.cfi_startproc
 648              		@ args = 0, pretend = 0, frame = 0
 649              		@ frame_needed = 0, uses_anonymous_args = 0
 650              	.LVL61:
 651 0000 08B5     		push	{r3, lr}
 652              	.LCFI16:
 653              		.cfi_def_cfa_offset 8
 654              		.cfi_offset 3, -8
 655              		.cfi_offset 14, -4
 656              	.LVL62:
 354:Src/usbd_conf.c **** 
 657              		.loc 1 354 0
 658 0002 D0F8C002 		ldr	r0, [r0, #704]
 659              	.LVL63:
 660 0006 FFF7FEFF 		bl	HAL_PCD_DeInit
 661              	.LVL64:
 356:Src/usbd_conf.c ****  
 662              		.loc 1 356 0
 663 000a FFF7FEFF 		bl	USBD_Get_USB_Status
 664              	.LVL65:
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 25


 359:Src/usbd_conf.c **** 
 665              		.loc 1 359 0
 666 000e 08BD     		pop	{r3, pc}
 667              		.cfi_endproc
 668              	.LFE82:
 670              		.section	.text.USBD_LL_Start,"ax",%progbits
 671              		.align	1
 672              		.global	USBD_LL_Start
 673              		.syntax unified
 674              		.thumb
 675              		.thumb_func
 676              		.fpu softvfp
 678              	USBD_LL_Start:
 679              	.LFB83:
 367:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 680              		.loc 1 367 0
 681              		.cfi_startproc
 682              		@ args = 0, pretend = 0, frame = 0
 683              		@ frame_needed = 0, uses_anonymous_args = 0
 684              	.LVL66:
 685 0000 08B5     		push	{r3, lr}
 686              	.LCFI17:
 687              		.cfi_def_cfa_offset 8
 688              		.cfi_offset 3, -8
 689              		.cfi_offset 14, -4
 690              	.LVL67:
 371:Src/usbd_conf.c ****      
 691              		.loc 1 371 0
 692 0002 D0F8C002 		ldr	r0, [r0, #704]
 693              	.LVL68:
 694 0006 FFF7FEFF 		bl	HAL_PCD_Start
 695              	.LVL69:
 373:Src/usbd_conf.c ****   
 696              		.loc 1 373 0
 697 000a FFF7FEFF 		bl	USBD_Get_USB_Status
 698              	.LVL70:
 376:Src/usbd_conf.c **** 
 699              		.loc 1 376 0
 700 000e 08BD     		pop	{r3, pc}
 701              		.cfi_endproc
 702              	.LFE83:
 704              		.section	.text.USBD_LL_Stop,"ax",%progbits
 705              		.align	1
 706              		.global	USBD_LL_Stop
 707              		.syntax unified
 708              		.thumb
 709              		.thumb_func
 710              		.fpu softvfp
 712              	USBD_LL_Stop:
 713              	.LFB84:
 384:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 714              		.loc 1 384 0
 715              		.cfi_startproc
 716              		@ args = 0, pretend = 0, frame = 0
 717              		@ frame_needed = 0, uses_anonymous_args = 0
 718              	.LVL71:
 719 0000 08B5     		push	{r3, lr}
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 26


 720              	.LCFI18:
 721              		.cfi_def_cfa_offset 8
 722              		.cfi_offset 3, -8
 723              		.cfi_offset 14, -4
 724              	.LVL72:
 388:Src/usbd_conf.c **** 
 725              		.loc 1 388 0
 726 0002 D0F8C002 		ldr	r0, [r0, #704]
 727              	.LVL73:
 728 0006 FFF7FEFF 		bl	HAL_PCD_Stop
 729              	.LVL74:
 390:Src/usbd_conf.c ****   
 730              		.loc 1 390 0
 731 000a FFF7FEFF 		bl	USBD_Get_USB_Status
 732              	.LVL75:
 393:Src/usbd_conf.c **** 
 733              		.loc 1 393 0
 734 000e 08BD     		pop	{r3, pc}
 735              		.cfi_endproc
 736              	.LFE84:
 738              		.section	.text.USBD_LL_OpenEP,"ax",%progbits
 739              		.align	1
 740              		.global	USBD_LL_OpenEP
 741              		.syntax unified
 742              		.thumb
 743              		.thumb_func
 744              		.fpu softvfp
 746              	USBD_LL_OpenEP:
 747              	.LFB85:
 404:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 748              		.loc 1 404 0
 749              		.cfi_startproc
 750              		@ args = 0, pretend = 0, frame = 0
 751              		@ frame_needed = 0, uses_anonymous_args = 0
 752              	.LVL76:
 753 0000 10B5     		push	{r4, lr}
 754              	.LCFI19:
 755              		.cfi_def_cfa_offset 8
 756              		.cfi_offset 4, -8
 757              		.cfi_offset 14, -4
 758 0002 1C46     		mov	r4, r3
 759              	.LVL77:
 408:Src/usbd_conf.c **** 
 760              		.loc 1 408 0
 761 0004 1346     		mov	r3, r2
 762              	.LVL78:
 763 0006 2246     		mov	r2, r4
 764              	.LVL79:
 765 0008 D0F8C002 		ldr	r0, [r0, #704]
 766              	.LVL80:
 767 000c FFF7FEFF 		bl	HAL_PCD_EP_Open
 768              	.LVL81:
 410:Src/usbd_conf.c ****  
 769              		.loc 1 410 0
 770 0010 FFF7FEFF 		bl	USBD_Get_USB_Status
 771              	.LVL82:
 413:Src/usbd_conf.c **** 
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 27


 772              		.loc 1 413 0
 773 0014 10BD     		pop	{r4, pc}
 774              		.cfi_endproc
 775              	.LFE85:
 777              		.section	.text.USBD_LL_CloseEP,"ax",%progbits
 778              		.align	1
 779              		.global	USBD_LL_CloseEP
 780              		.syntax unified
 781              		.thumb
 782              		.thumb_func
 783              		.fpu softvfp
 785              	USBD_LL_CloseEP:
 786              	.LFB86:
 422:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 787              		.loc 1 422 0
 788              		.cfi_startproc
 789              		@ args = 0, pretend = 0, frame = 0
 790              		@ frame_needed = 0, uses_anonymous_args = 0
 791              	.LVL83:
 792 0000 08B5     		push	{r3, lr}
 793              	.LCFI20:
 794              		.cfi_def_cfa_offset 8
 795              		.cfi_offset 3, -8
 796              		.cfi_offset 14, -4
 797              	.LVL84:
 426:Src/usbd_conf.c ****       
 798              		.loc 1 426 0
 799 0002 D0F8C002 		ldr	r0, [r0, #704]
 800              	.LVL85:
 801 0006 FFF7FEFF 		bl	HAL_PCD_EP_Close
 802              	.LVL86:
 428:Src/usbd_conf.c **** 
 803              		.loc 1 428 0
 804 000a FFF7FEFF 		bl	USBD_Get_USB_Status
 805              	.LVL87:
 431:Src/usbd_conf.c **** 
 806              		.loc 1 431 0
 807 000e 08BD     		pop	{r3, pc}
 808              		.cfi_endproc
 809              	.LFE86:
 811              		.section	.text.USBD_LL_FlushEP,"ax",%progbits
 812              		.align	1
 813              		.global	USBD_LL_FlushEP
 814              		.syntax unified
 815              		.thumb
 816              		.thumb_func
 817              		.fpu softvfp
 819              	USBD_LL_FlushEP:
 820              	.LFB87:
 440:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 821              		.loc 1 440 0
 822              		.cfi_startproc
 823              		@ args = 0, pretend = 0, frame = 0
 824              		@ frame_needed = 0, uses_anonymous_args = 0
 825              	.LVL88:
 826 0000 08B5     		push	{r3, lr}
 827              	.LCFI21:
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 28


 828              		.cfi_def_cfa_offset 8
 829              		.cfi_offset 3, -8
 830              		.cfi_offset 14, -4
 831              	.LVL89:
 444:Src/usbd_conf.c ****       
 832              		.loc 1 444 0
 833 0002 D0F8C002 		ldr	r0, [r0, #704]
 834              	.LVL90:
 835 0006 FFF7FEFF 		bl	HAL_PCD_EP_Flush
 836              	.LVL91:
 446:Src/usbd_conf.c ****   
 837              		.loc 1 446 0
 838 000a FFF7FEFF 		bl	USBD_Get_USB_Status
 839              	.LVL92:
 449:Src/usbd_conf.c **** 
 840              		.loc 1 449 0
 841 000e 08BD     		pop	{r3, pc}
 842              		.cfi_endproc
 843              	.LFE87:
 845              		.section	.text.USBD_LL_StallEP,"ax",%progbits
 846              		.align	1
 847              		.global	USBD_LL_StallEP
 848              		.syntax unified
 849              		.thumb
 850              		.thumb_func
 851              		.fpu softvfp
 853              	USBD_LL_StallEP:
 854              	.LFB88:
 458:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 855              		.loc 1 458 0
 856              		.cfi_startproc
 857              		@ args = 0, pretend = 0, frame = 0
 858              		@ frame_needed = 0, uses_anonymous_args = 0
 859              	.LVL93:
 860 0000 08B5     		push	{r3, lr}
 861              	.LCFI22:
 862              		.cfi_def_cfa_offset 8
 863              		.cfi_offset 3, -8
 864              		.cfi_offset 14, -4
 865              	.LVL94:
 462:Src/usbd_conf.c **** 
 866              		.loc 1 462 0
 867 0002 D0F8C002 		ldr	r0, [r0, #704]
 868              	.LVL95:
 869 0006 FFF7FEFF 		bl	HAL_PCD_EP_SetStall
 870              	.LVL96:
 464:Src/usbd_conf.c ****  
 871              		.loc 1 464 0
 872 000a FFF7FEFF 		bl	USBD_Get_USB_Status
 873              	.LVL97:
 467:Src/usbd_conf.c **** 
 874              		.loc 1 467 0
 875 000e 08BD     		pop	{r3, pc}
 876              		.cfi_endproc
 877              	.LFE88:
 879              		.section	.text.USBD_LL_ClearStallEP,"ax",%progbits
 880              		.align	1
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 29


 881              		.global	USBD_LL_ClearStallEP
 882              		.syntax unified
 883              		.thumb
 884              		.thumb_func
 885              		.fpu softvfp
 887              	USBD_LL_ClearStallEP:
 888              	.LFB89:
 476:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 889              		.loc 1 476 0
 890              		.cfi_startproc
 891              		@ args = 0, pretend = 0, frame = 0
 892              		@ frame_needed = 0, uses_anonymous_args = 0
 893              	.LVL98:
 894 0000 08B5     		push	{r3, lr}
 895              	.LCFI23:
 896              		.cfi_def_cfa_offset 8
 897              		.cfi_offset 3, -8
 898              		.cfi_offset 14, -4
 899              	.LVL99:
 480:Src/usbd_conf.c ****      
 900              		.loc 1 480 0
 901 0002 D0F8C002 		ldr	r0, [r0, #704]
 902              	.LVL100:
 903 0006 FFF7FEFF 		bl	HAL_PCD_EP_ClrStall
 904              	.LVL101:
 482:Src/usbd_conf.c **** 
 905              		.loc 1 482 0
 906 000a FFF7FEFF 		bl	USBD_Get_USB_Status
 907              	.LVL102:
 485:Src/usbd_conf.c **** 
 908              		.loc 1 485 0
 909 000e 08BD     		pop	{r3, pc}
 910              		.cfi_endproc
 911              	.LFE89:
 913              		.section	.text.USBD_LL_IsStallEP,"ax",%progbits
 914              		.align	1
 915              		.global	USBD_LL_IsStallEP
 916              		.syntax unified
 917              		.thumb
 918              		.thumb_func
 919              		.fpu softvfp
 921              	USBD_LL_IsStallEP:
 922              	.LFB90:
 494:Src/usbd_conf.c ****   PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef*) pdev->pData;
 923              		.loc 1 494 0
 924              		.cfi_startproc
 925              		@ args = 0, pretend = 0, frame = 0
 926              		@ frame_needed = 0, uses_anonymous_args = 0
 927              		@ link register save eliminated.
 928              	.LVL103:
 495:Src/usbd_conf.c ****   
 929              		.loc 1 495 0
 930 0000 D0F8C032 		ldr	r3, [r0, #704]
 931              	.LVL104:
 497:Src/usbd_conf.c ****   {
 932              		.loc 1 497 0
 933 0004 11F0800F 		tst	r1, #128
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 30


 934 0008 06D1     		bne	.L73
 503:Src/usbd_conf.c ****   }
 935              		.loc 1 503 0
 936 000a 01F07F01 		and	r1, r1, #127
 937              	.LVL105:
 938 000e 03EB4111 		add	r1, r3, r1, lsl #5
 939 0012 91F82A01 		ldrb	r0, [r1, #298]	@ zero_extendqisi2
 940              	.LVL106:
 505:Src/usbd_conf.c **** 
 941              		.loc 1 505 0
 942 0016 7047     		bx	lr
 943              	.LVL107:
 944              	.L73:
 499:Src/usbd_conf.c ****   }
 945              		.loc 1 499 0
 946 0018 01F07F01 		and	r1, r1, #127
 947              	.LVL108:
 948 001c 03EB4111 		add	r1, r3, r1, lsl #5
 949 0020 91F82A00 		ldrb	r0, [r1, #42]	@ zero_extendqisi2
 950              	.LVL109:
 951 0024 7047     		bx	lr
 952              		.cfi_endproc
 953              	.LFE90:
 955              		.section	.text.USBD_LL_SetUSBAddress,"ax",%progbits
 956              		.align	1
 957              		.global	USBD_LL_SetUSBAddress
 958              		.syntax unified
 959              		.thumb
 960              		.thumb_func
 961              		.fpu softvfp
 963              	USBD_LL_SetUSBAddress:
 964              	.LFB91:
 514:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 965              		.loc 1 514 0
 966              		.cfi_startproc
 967              		@ args = 0, pretend = 0, frame = 0
 968              		@ frame_needed = 0, uses_anonymous_args = 0
 969              	.LVL110:
 970 0000 08B5     		push	{r3, lr}
 971              	.LCFI24:
 972              		.cfi_def_cfa_offset 8
 973              		.cfi_offset 3, -8
 974              		.cfi_offset 14, -4
 975              	.LVL111:
 518:Src/usbd_conf.c ****      
 976              		.loc 1 518 0
 977 0002 D0F8C002 		ldr	r0, [r0, #704]
 978              	.LVL112:
 979 0006 FFF7FEFF 		bl	HAL_PCD_SetAddress
 980              	.LVL113:
 520:Src/usbd_conf.c ****  
 981              		.loc 1 520 0
 982 000a FFF7FEFF 		bl	USBD_Get_USB_Status
 983              	.LVL114:
 523:Src/usbd_conf.c **** 
 984              		.loc 1 523 0
 985 000e 08BD     		pop	{r3, pc}
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 31


 986              		.cfi_endproc
 987              	.LFE91:
 989              		.section	.text.USBD_LL_Transmit,"ax",%progbits
 990              		.align	1
 991              		.global	USBD_LL_Transmit
 992              		.syntax unified
 993              		.thumb
 994              		.thumb_func
 995              		.fpu softvfp
 997              	USBD_LL_Transmit:
 998              	.LFB92:
 534:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 999              		.loc 1 534 0
 1000              		.cfi_startproc
 1001              		@ args = 0, pretend = 0, frame = 0
 1002              		@ frame_needed = 0, uses_anonymous_args = 0
 1003              	.LVL115:
 1004 0000 08B5     		push	{r3, lr}
 1005              	.LCFI25:
 1006              		.cfi_def_cfa_offset 8
 1007              		.cfi_offset 3, -8
 1008              		.cfi_offset 14, -4
 1009              	.LVL116:
 538:Src/usbd_conf.c ****      
 1010              		.loc 1 538 0
 1011 0002 D0F8C002 		ldr	r0, [r0, #704]
 1012              	.LVL117:
 1013 0006 FFF7FEFF 		bl	HAL_PCD_EP_Transmit
 1014              	.LVL118:
 540:Src/usbd_conf.c ****   
 1015              		.loc 1 540 0
 1016 000a FFF7FEFF 		bl	USBD_Get_USB_Status
 1017              	.LVL119:
 543:Src/usbd_conf.c **** 
 1018              		.loc 1 543 0
 1019 000e 08BD     		pop	{r3, pc}
 1020              		.cfi_endproc
 1021              	.LFE92:
 1023              		.section	.text.USBD_LL_PrepareReceive,"ax",%progbits
 1024              		.align	1
 1025              		.global	USBD_LL_PrepareReceive
 1026              		.syntax unified
 1027              		.thumb
 1028              		.thumb_func
 1029              		.fpu softvfp
 1031              	USBD_LL_PrepareReceive:
 1032              	.LFB93:
 554:Src/usbd_conf.c ****   HAL_StatusTypeDef hal_status = HAL_OK;
 1033              		.loc 1 554 0
 1034              		.cfi_startproc
 1035              		@ args = 0, pretend = 0, frame = 0
 1036              		@ frame_needed = 0, uses_anonymous_args = 0
 1037              	.LVL120:
 1038 0000 08B5     		push	{r3, lr}
 1039              	.LCFI26:
 1040              		.cfi_def_cfa_offset 8
 1041              		.cfi_offset 3, -8
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 32


 1042              		.cfi_offset 14, -4
 1043              	.LVL121:
 558:Src/usbd_conf.c ****      
 1044              		.loc 1 558 0
 1045 0002 D0F8C002 		ldr	r0, [r0, #704]
 1046              	.LVL122:
 1047 0006 FFF7FEFF 		bl	HAL_PCD_EP_Receive
 1048              	.LVL123:
 560:Src/usbd_conf.c ****   	
 1049              		.loc 1 560 0
 1050 000a FFF7FEFF 		bl	USBD_Get_USB_Status
 1051              	.LVL124:
 563:Src/usbd_conf.c **** 
 1052              		.loc 1 563 0
 1053 000e 08BD     		pop	{r3, pc}
 1054              		.cfi_endproc
 1055              	.LFE93:
 1057              		.section	.text.USBD_LL_GetRxDataSize,"ax",%progbits
 1058              		.align	1
 1059              		.global	USBD_LL_GetRxDataSize
 1060              		.syntax unified
 1061              		.thumb
 1062              		.thumb_func
 1063              		.fpu softvfp
 1065              	USBD_LL_GetRxDataSize:
 1066              	.LFB94:
 572:Src/usbd_conf.c ****   return HAL_PCD_EP_GetRxCount((PCD_HandleTypeDef*) pdev->pData, ep_addr);
 1067              		.loc 1 572 0
 1068              		.cfi_startproc
 1069              		@ args = 0, pretend = 0, frame = 0
 1070              		@ frame_needed = 0, uses_anonymous_args = 0
 1071              	.LVL125:
 1072 0000 08B5     		push	{r3, lr}
 1073              	.LCFI27:
 1074              		.cfi_def_cfa_offset 8
 1075              		.cfi_offset 3, -8
 1076              		.cfi_offset 14, -4
 573:Src/usbd_conf.c **** }
 1077              		.loc 1 573 0
 1078 0002 D0F8C002 		ldr	r0, [r0, #704]
 1079              	.LVL126:
 1080 0006 FFF7FEFF 		bl	HAL_PCD_EP_GetRxCount
 1081              	.LVL127:
 574:Src/usbd_conf.c **** 
 1082              		.loc 1 574 0
 1083 000a 08BD     		pop	{r3, pc}
 1084              		.cfi_endproc
 1085              	.LFE94:
 1087              		.section	.text.USBD_LL_Delay,"ax",%progbits
 1088              		.align	1
 1089              		.global	USBD_LL_Delay
 1090              		.syntax unified
 1091              		.thumb
 1092              		.thumb_func
 1093              		.fpu softvfp
 1095              	USBD_LL_Delay:
 1096              	.LFB95:
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 33


 582:Src/usbd_conf.c ****   HAL_Delay(Delay);
 1097              		.loc 1 582 0
 1098              		.cfi_startproc
 1099              		@ args = 0, pretend = 0, frame = 0
 1100              		@ frame_needed = 0, uses_anonymous_args = 0
 1101              	.LVL128:
 1102 0000 08B5     		push	{r3, lr}
 1103              	.LCFI28:
 1104              		.cfi_def_cfa_offset 8
 1105              		.cfi_offset 3, -8
 1106              		.cfi_offset 14, -4
 583:Src/usbd_conf.c **** }
 1107              		.loc 1 583 0
 1108 0002 FFF7FEFF 		bl	HAL_Delay
 1109              	.LVL129:
 584:Src/usbd_conf.c **** 
 1110              		.loc 1 584 0
 1111 0006 08BD     		pop	{r3, pc}
 1112              		.cfi_endproc
 1113              	.LFE95:
 1115              		.section	.text.USBD_static_malloc,"ax",%progbits
 1116              		.align	1
 1117              		.global	USBD_static_malloc
 1118              		.syntax unified
 1119              		.thumb
 1120              		.thumb_func
 1121              		.fpu softvfp
 1123              	USBD_static_malloc:
 1124              	.LFB96:
 592:Src/usbd_conf.c ****   static uint32_t mem[(sizeof(USBD_CDC_HandleTypeDef)/4)+1];/* On 32-bit boundary */
 1125              		.loc 1 592 0
 1126              		.cfi_startproc
 1127              		@ args = 0, pretend = 0, frame = 0
 1128              		@ frame_needed = 0, uses_anonymous_args = 0
 1129              		@ link register save eliminated.
 1130              	.LVL130:
 595:Src/usbd_conf.c **** 
 1131              		.loc 1 595 0
 1132 0000 0048     		ldr	r0, .L85
 1133              	.LVL131:
 1134 0002 7047     		bx	lr
 1135              	.L86:
 1136              		.align	2
 1137              	.L85:
 1138 0004 00000000 		.word	.LANCHOR0
 1139              		.cfi_endproc
 1140              	.LFE96:
 1142              		.section	.text.USBD_static_free,"ax",%progbits
 1143              		.align	1
 1144              		.global	USBD_static_free
 1145              		.syntax unified
 1146              		.thumb
 1147              		.thumb_func
 1148              		.fpu softvfp
 1150              	USBD_static_free:
 1151              	.LFB97:
 603:Src/usbd_conf.c **** 
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 34


 1152              		.loc 1 603 0
 1153              		.cfi_startproc
 1154              		@ args = 0, pretend = 0, frame = 0
 1155              		@ frame_needed = 0, uses_anonymous_args = 0
 1156              		@ link register save eliminated.
 1157              	.LVL132:
 605:Src/usbd_conf.c **** 
 1158              		.loc 1 605 0
 1159 0000 7047     		bx	lr
 1160              		.cfi_endproc
 1161              	.LFE97:
 1163              		.section	.text.HAL_PCDEx_SetConnectionState,"ax",%progbits
 1164              		.align	1
 1165              		.global	HAL_PCDEx_SetConnectionState
 1166              		.syntax unified
 1167              		.thumb
 1168              		.thumb_func
 1169              		.fpu softvfp
 1171              	HAL_PCDEx_SetConnectionState:
 1172              	.LFB98:
 618:Src/usbd_conf.c ****   /* USER CODE BEGIN 6 */
 1173              		.loc 1 618 0
 1174              		.cfi_startproc
 1175              		@ args = 0, pretend = 0, frame = 0
 1176              		@ frame_needed = 0, uses_anonymous_args = 0
 1177              		@ link register save eliminated.
 1178              	.LVL133:
 631:Src/usbd_conf.c **** 
 1179              		.loc 1 631 0
 1180 0000 7047     		bx	lr
 1181              		.cfi_endproc
 1182              	.LFE98:
 1184              		.comm	hpcd_USB_FS,620,4
 1185              		.section	.bss.mem.7702,"aw",%nobits
 1186              		.align	2
 1187              		.set	.LANCHOR0,. + 0
 1190              	mem.7702:
 1191 0000 00000000 		.space	544
 1191      00000000 
 1191      00000000 
 1191      00000000 
 1191      00000000 
 1192              		.text
 1193              	.Letext0:
 1194              		.file 2 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 1195              		.file 3 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 1196              		.file 4 "Drivers/CMSIS/Include/core_cm3.h"
 1197              		.file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
 1198              		.file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
 1199              		.file 7 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h"
 1200              		.file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
 1201              		.file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h"
 1202              		.file 10 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h"
 1203              		.file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
 1204              		.file 12 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include
 1205              		.file 13 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include
 1206              		.file 14 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\lib\\gcc\\arm-none-eab
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 35


 1207              		.file 15 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include
 1208              		.file 16 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include
 1209              		.file 17 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
 1210              		.file 18 "Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h"
 1211              		.file 19 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h"
 1212              		.file 20 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
 1213              		.file 21 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h"
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 36


DEFINED SYMBOLS
                            *ABS*:00000000 usbd_conf.c
X:\TMP\USER_T~1\cc5lncGH.s:16     .text.USBD_Get_USB_Status:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:22     .text.USBD_Get_USB_Status:00000000 USBD_Get_USB_Status
X:\TMP\USER_T~1\cc5lncGH.s:57     .text.HAL_PCD_MspInit:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:64     .text.HAL_PCD_MspInit:00000000 HAL_PCD_MspInit
X:\TMP\USER_T~1\cc5lncGH.s:117    .text.HAL_PCD_MspInit:0000003c $d
X:\TMP\USER_T~1\cc5lncGH.s:122    .text.HAL_PCD_MspDeInit:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:129    .text.HAL_PCD_MspDeInit:00000000 HAL_PCD_MspDeInit
X:\TMP\USER_T~1\cc5lncGH.s:167    .text.HAL_PCD_MspDeInit:00000020 $d
X:\TMP\USER_T~1\cc5lncGH.s:173    .text.HAL_PCD_SetupStageCallback:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:180    .text.HAL_PCD_SetupStageCallback:00000000 HAL_PCD_SetupStageCallback
X:\TMP\USER_T~1\cc5lncGH.s:204    .text.HAL_PCD_DataOutStageCallback:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:211    .text.HAL_PCD_DataOutStageCallback:00000000 HAL_PCD_DataOutStageCallback
X:\TMP\USER_T~1\cc5lncGH.s:236    .text.HAL_PCD_DataInStageCallback:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:243    .text.HAL_PCD_DataInStageCallback:00000000 HAL_PCD_DataInStageCallback
X:\TMP\USER_T~1\cc5lncGH.s:268    .text.HAL_PCD_SOFCallback:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:275    .text.HAL_PCD_SOFCallback:00000000 HAL_PCD_SOFCallback
X:\TMP\USER_T~1\cc5lncGH.s:298    .text.HAL_PCD_ResetCallback:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:305    .text.HAL_PCD_ResetCallback:00000000 HAL_PCD_ResetCallback
X:\TMP\USER_T~1\cc5lncGH.s:342    .text.HAL_PCD_SuspendCallback:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:349    .text.HAL_PCD_SuspendCallback:00000000 HAL_PCD_SuspendCallback
X:\TMP\USER_T~1\cc5lncGH.s:382    .text.HAL_PCD_SuspendCallback:0000001c $d
X:\TMP\USER_T~1\cc5lncGH.s:387    .text.HAL_PCD_ResumeCallback:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:394    .text.HAL_PCD_ResumeCallback:00000000 HAL_PCD_ResumeCallback
X:\TMP\USER_T~1\cc5lncGH.s:417    .text.HAL_PCD_ISOOUTIncompleteCallback:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:424    .text.HAL_PCD_ISOOUTIncompleteCallback:00000000 HAL_PCD_ISOOUTIncompleteCallback
X:\TMP\USER_T~1\cc5lncGH.s:447    .text.HAL_PCD_ISOINIncompleteCallback:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:454    .text.HAL_PCD_ISOINIncompleteCallback:00000000 HAL_PCD_ISOINIncompleteCallback
X:\TMP\USER_T~1\cc5lncGH.s:477    .text.HAL_PCD_ConnectCallback:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:484    .text.HAL_PCD_ConnectCallback:00000000 HAL_PCD_ConnectCallback
X:\TMP\USER_T~1\cc5lncGH.s:507    .text.HAL_PCD_DisconnectCallback:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:514    .text.HAL_PCD_DisconnectCallback:00000000 HAL_PCD_DisconnectCallback
X:\TMP\USER_T~1\cc5lncGH.s:537    .text.USBD_LL_Init:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:544    .text.USBD_LL_Init:00000000 USBD_LL_Init
X:\TMP\USER_T~1\cc5lncGH.s:631    .text.USBD_LL_Init:0000007c $d
                            *COM*:0000026c hpcd_USB_FS
X:\TMP\USER_T~1\cc5lncGH.s:637    .text.USBD_LL_DeInit:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:644    .text.USBD_LL_DeInit:00000000 USBD_LL_DeInit
X:\TMP\USER_T~1\cc5lncGH.s:671    .text.USBD_LL_Start:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:678    .text.USBD_LL_Start:00000000 USBD_LL_Start
X:\TMP\USER_T~1\cc5lncGH.s:705    .text.USBD_LL_Stop:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:712    .text.USBD_LL_Stop:00000000 USBD_LL_Stop
X:\TMP\USER_T~1\cc5lncGH.s:739    .text.USBD_LL_OpenEP:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:746    .text.USBD_LL_OpenEP:00000000 USBD_LL_OpenEP
X:\TMP\USER_T~1\cc5lncGH.s:778    .text.USBD_LL_CloseEP:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:785    .text.USBD_LL_CloseEP:00000000 USBD_LL_CloseEP
X:\TMP\USER_T~1\cc5lncGH.s:812    .text.USBD_LL_FlushEP:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:819    .text.USBD_LL_FlushEP:00000000 USBD_LL_FlushEP
X:\TMP\USER_T~1\cc5lncGH.s:846    .text.USBD_LL_StallEP:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:853    .text.USBD_LL_StallEP:00000000 USBD_LL_StallEP
X:\TMP\USER_T~1\cc5lncGH.s:880    .text.USBD_LL_ClearStallEP:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:887    .text.USBD_LL_ClearStallEP:00000000 USBD_LL_ClearStallEP
X:\TMP\USER_T~1\cc5lncGH.s:914    .text.USBD_LL_IsStallEP:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:921    .text.USBD_LL_IsStallEP:00000000 USBD_LL_IsStallEP
X:\TMP\USER_T~1\cc5lncGH.s:956    .text.USBD_LL_SetUSBAddress:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:963    .text.USBD_LL_SetUSBAddress:00000000 USBD_LL_SetUSBAddress
ARM GAS  X:\TMP\USER_T~1\cc5lncGH.s 			page 37


X:\TMP\USER_T~1\cc5lncGH.s:990    .text.USBD_LL_Transmit:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:997    .text.USBD_LL_Transmit:00000000 USBD_LL_Transmit
X:\TMP\USER_T~1\cc5lncGH.s:1024   .text.USBD_LL_PrepareReceive:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:1031   .text.USBD_LL_PrepareReceive:00000000 USBD_LL_PrepareReceive
X:\TMP\USER_T~1\cc5lncGH.s:1058   .text.USBD_LL_GetRxDataSize:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:1065   .text.USBD_LL_GetRxDataSize:00000000 USBD_LL_GetRxDataSize
X:\TMP\USER_T~1\cc5lncGH.s:1088   .text.USBD_LL_Delay:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:1095   .text.USBD_LL_Delay:00000000 USBD_LL_Delay
X:\TMP\USER_T~1\cc5lncGH.s:1116   .text.USBD_static_malloc:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:1123   .text.USBD_static_malloc:00000000 USBD_static_malloc
X:\TMP\USER_T~1\cc5lncGH.s:1138   .text.USBD_static_malloc:00000004 $d
X:\TMP\USER_T~1\cc5lncGH.s:1143   .text.USBD_static_free:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:1150   .text.USBD_static_free:00000000 USBD_static_free
X:\TMP\USER_T~1\cc5lncGH.s:1164   .text.HAL_PCDEx_SetConnectionState:00000000 $t
X:\TMP\USER_T~1\cc5lncGH.s:1171   .text.HAL_PCDEx_SetConnectionState:00000000 HAL_PCDEx_SetConnectionState
X:\TMP\USER_T~1\cc5lncGH.s:1186   .bss.mem.7702:00000000 $d
X:\TMP\USER_T~1\cc5lncGH.s:1190   .bss.mem.7702:00000000 mem.7702

UNDEFINED SYMBOLS
HAL_NVIC_SetPriority
HAL_NVIC_EnableIRQ
HAL_NVIC_DisableIRQ
USBD_LL_SetupStage
USBD_LL_DataOutStage
USBD_LL_DataInStage
USBD_LL_SOF
Error_Handler
USBD_LL_SetSpeed
USBD_LL_Reset
USBD_LL_Suspend
USBD_LL_Resume
USBD_LL_IsoOUTIncomplete
USBD_LL_IsoINIncomplete
USBD_LL_DevConnected
USBD_LL_DevDisconnected
HAL_PCD_Init
HAL_PCDEx_PMAConfig
HAL_PCD_DeInit
HAL_PCD_Start
HAL_PCD_Stop
HAL_PCD_EP_Open
HAL_PCD_EP_Close
HAL_PCD_EP_Flush
HAL_PCD_EP_SetStall
HAL_PCD_EP_ClrStall
HAL_PCD_SetAddress
HAL_PCD_EP_Transmit
HAL_PCD_EP_Receive
HAL_PCD_EP_GetRxCount
HAL_Delay
