ARM GAS  X:\TMP\USER_T~1\ccclbGWf.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_hid.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.section	.text.USBD_HID_GetFSCfgDesc,"ax",%progbits
  16              		.align	1
  17              		.syntax unified
  18              		.thumb
  19              		.thumb_func
  20              		.fpu softvfp
  22              	USBD_HID_GetFSCfgDesc:
  23              	.LFB73:
  24              		.file 1 "Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c"
   1:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
   2:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   ******************************************************************************
   3:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @file    usbd_hid.c
   4:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @author  MCD Application Team
   5:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @brief   This file provides the HID core functions.
   6:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *
   7:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @verbatim
   8:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *
   9:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *          ===================================================================
  10:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *                                HID Class  Description
  11:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *          ===================================================================
  12:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *           This module manages the HID class V1.11 following the "Device Class Definition
  13:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *           for Human Interface Devices (HID) Version 1.11 Jun 27, 2001".
  14:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *           This driver implements the following aspects of the specification:
  15:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *             - The Boot Interface Subclass
  16:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *             - The keyboard protocol
  17:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *             - Usage Page : Generic Desktop
  18:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *             - Usage : Joystick
  19:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *             - Collection : Application
  20:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *
  21:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @note     In HS mode and when the DMA is used, all variables and data structures
  22:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *           dealing with the DMA during the transaction process should be 32-bit aligned.
  23:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *
  24:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *
  25:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *  @endverbatim
  26:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *
  27:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   ******************************************************************************
  28:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @attention
  29:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *
  30:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * <h2><center>&copy; Copyright (c) 2015 STMicroelectronics.
  31:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * All rights reserved.</center></h2>
  32:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *
  33:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * This software component is licensed by ST under Ultimate Liberty license
  34:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * SLA0044, the "License"; You may not use this file except in compliance with
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 2


  35:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * the License. You may obtain a copy of the License at:
  36:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *                      www.st.com/SLA0044
  37:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *
  38:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   ******************************************************************************
  39:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
  40:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  41:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /* BSPDependencies
  42:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** - "stm32xxxxx_{eval}{discovery}{nucleo_144}.c"
  43:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** - "stm32xxxxx_{eval}{discovery}_io.c"
  44:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** EndBSPDependencies */
  45:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  46:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /* Includes ------------------------------------------------------------------*/
  47:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** #include "usbd_hid.h"
  48:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** #include "usbd_ctlreq.h"
  49:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  50:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  51:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /** @addtogroup STM32_USB_DEVICE_LIBRARY
  52:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @{
  53:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
  54:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  55:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  56:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /** @defgroup USBD_HID
  57:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @brief usbd core module
  58:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @{
  59:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
  60:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  61:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_TypesDefinitions
  62:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @{
  63:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
  64:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
  65:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @}
  66:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
  67:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  68:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  69:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_Defines
  70:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @{
  71:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
  72:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  73:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
  74:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @}
  75:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
  76:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  77:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  78:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_Macros
  79:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @{
  80:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
  81:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
  82:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @}
  83:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
  84:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  85:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  86:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  87:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  88:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_FunctionPrototypes
  89:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @{
  90:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
  91:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 3


  92:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  93:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  USBD_HID_Init(USBD_HandleTypeDef *pdev,
  94:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                               uint8_t cfgidx);
  95:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  96:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  USBD_HID_DeInit(USBD_HandleTypeDef *pdev,
  97:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                                 uint8_t cfgidx);
  98:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
  99:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  USBD_HID_Setup(USBD_HandleTypeDef *pdev,
 100:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                                USBD_SetupReqTypedef *req);
 101:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 102:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  *USBD_HID_GetFSCfgDesc(uint16_t *length);
 103:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 104:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  *USBD_HID_GetHSCfgDesc(uint16_t *length);
 105:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 106:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  *USBD_HID_GetOtherSpeedCfgDesc(uint16_t *length);
 107:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 108:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  *USBD_HID_GetDeviceQualifierDesc(uint16_t *length);
 109:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 110:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  USBD_HID_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum);
 111:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 112:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @}
 113:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 114:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 115:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_Variables
 116:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @{
 117:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 118:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 119:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** USBD_ClassTypeDef  USBD_HID =
 120:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 121:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_Init,
 122:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_DeInit,
 123:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_Setup,
 124:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   NULL, /*EP0_TxSent*/
 125:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   NULL, /*EP0_RxReady*/
 126:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_DataIn, /*DataIn*/
 127:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   NULL, /*DataOut*/
 128:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   NULL, /*SOF */
 129:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   NULL,
 130:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   NULL,
 131:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_GetHSCfgDesc,
 132:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_GetFSCfgDesc,
 133:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_GetOtherSpeedCfgDesc,
 134:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_GetDeviceQualifierDesc,
 135:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** };
 136:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 137:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /* USB HID device FS Configuration Descriptor */
 138:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** __ALIGN_BEGIN static uint8_t USBD_HID_CfgFSDesc[USB_HID_CONFIG_DESC_SIZ]  __ALIGN_END =
 139:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 140:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x09, /* bLength: Configuration Descriptor size */
 141:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */
 142:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_HID_CONFIG_DESC_SIZ,
 143:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* wTotalLength: Bytes returned */
 144:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 145:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bNumInterfaces: 1 interface*/
 146:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bConfigurationValue: Configuration value*/
 147:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*iConfiguration: Index of string descriptor describing
 148:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   the configuration*/
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 4


 149:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0xE0,         /*bmAttributes: bus powered and Support Remote Wake-up */
 150:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x32,         /*MaxPower 100 mA: this current is used for detecting Vbus*/
 151:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 152:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /************** Descriptor of Joystick keyboard interface ****************/
 153:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 09 */
 154:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x09,         /*bLength: Interface Descriptor size*/
 155:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_DESC_TYPE_INTERFACE,/*bDescriptorType: Interface descriptor type*/
 156:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*bInterfaceNumber: Number of Interface*/
 157:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*bAlternateSetting: Alternate setting*/
 158:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bNumEndpoints*/
 159:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x03,         /*bInterfaceClass: HID*/
 160:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bInterfaceSubClass : 1=BOOT, 0=no boot*/
 161:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse*/
 162:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0,            /*iInterface: Index of string descriptor*/
 163:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /******************** Descriptor of Joystick keyboard HID ********************/
 164:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 18 */
 165:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x09,         /*bLength: HID Descriptor size*/
 166:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_DESCRIPTOR_TYPE, /*bDescriptorType: HID*/
 167:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x11,         /*bcdHID: HID Class Spec release number*/
 168:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,
 169:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*bCountryCode: Hardware target country*/
 170:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bNumDescriptors: Number of HID class descriptors to follow*/
 171:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x22,         /*bDescriptorType*/
 172:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_KEYBOARD_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor*/
 173:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 174:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /******************** Descriptor of keyboard endpoint ********************/
 175:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 27 */
 176:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x07,          /*bLength: Endpoint Descriptor size*/
 177:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/
 178:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 179:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_EPIN_ADDR,     /*bEndpointAddress: Endpoint Address (IN)*/
 180:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x03,          /*bmAttributes: Interrupt endpoint*/
 181:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_EPIN_SIZE, /*wMaxPacketSize: 4 Byte max */
 182:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 183:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_FS_BINTERVAL,          /*bInterval: Polling Interval */
 184:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 34 */
 185:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** };
 186:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 187:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /* USB HID device HS Configuration Descriptor */
 188:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** __ALIGN_BEGIN static uint8_t USBD_HID_CfgHSDesc[USB_HID_CONFIG_DESC_SIZ]  __ALIGN_END =
 189:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 190:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x09, /* bLength: Configuration Descriptor size */
 191:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */
 192:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_HID_CONFIG_DESC_SIZ,
 193:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* wTotalLength: Bytes returned */
 194:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 195:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bNumInterfaces: 1 interface*/
 196:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bConfigurationValue: Configuration value*/
 197:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*iConfiguration: Index of string descriptor describing
 198:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   the configuration*/
 199:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0xE0,         /*bmAttributes: bus powered and Support Remote Wake-up */
 200:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x32,         /*MaxPower 100 mA: this current is used for detecting Vbus*/
 201:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 202:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /************** Descriptor of Joystick keyboard interface ****************/
 203:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 09 */
 204:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x09,         /*bLength: Interface Descriptor size*/
 205:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_DESC_TYPE_INTERFACE,/*bDescriptorType: Interface descriptor type*/
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 5


 206:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*bInterfaceNumber: Number of Interface*/
 207:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*bAlternateSetting: Alternate setting*/
 208:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bNumEndpoints*/
 209:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x03,         /*bInterfaceClass: HID*/
 210:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bInterfaceSubClass : 1=BOOT, 0=no boot*/
 211:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse*/
 212:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0,            /*iInterface: Index of string descriptor*/
 213:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /******************** Descriptor of Joystick keyboard HID ********************/
 214:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 18 */
 215:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x09,         /*bLength: HID Descriptor size*/
 216:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_DESCRIPTOR_TYPE, /*bDescriptorType: HID*/
 217:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x11,         /*bcdHID: HID Class Spec release number*/
 218:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,
 219:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*bCountryCode: Hardware target country*/
 220:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bNumDescriptors: Number of HID class descriptors to follow*/
 221:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x22,         /*bDescriptorType*/
 222:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_KEYBOARD_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor*/
 223:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 224:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /******************** Descriptor of keyboard endpoint ********************/
 225:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 27 */
 226:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x07,          /*bLength: Endpoint Descriptor size*/
 227:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/
 228:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 229:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_EPIN_ADDR,     /*bEndpointAddress: Endpoint Address (IN)*/
 230:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x03,          /*bmAttributes: Interrupt endpoint*/
 231:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_EPIN_SIZE, /*wMaxPacketSize: 4 Byte max */
 232:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 233:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_HS_BINTERVAL,          /*bInterval: Polling Interval */
 234:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 34 */
 235:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** };
 236:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 237:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /* USB HID device Other Speed Configuration Descriptor */
 238:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** __ALIGN_BEGIN static uint8_t USBD_HID_OtherSpeedCfgDesc[USB_HID_CONFIG_DESC_SIZ]  __ALIGN_END =
 239:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 240:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x09, /* bLength: Configuration Descriptor size */
 241:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */
 242:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_HID_CONFIG_DESC_SIZ,
 243:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* wTotalLength: Bytes returned */
 244:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 245:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bNumInterfaces: 1 interface*/
 246:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bConfigurationValue: Configuration value*/
 247:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*iConfiguration: Index of string descriptor describing
 248:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   the configuration*/
 249:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0xE0,         /*bmAttributes: bus powered and Support Remote Wake-up */
 250:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x32,         /*MaxPower 100 mA: this current is used for detecting Vbus*/
 251:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 252:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /************** Descriptor of Joystick keyboard interface ****************/
 253:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 09 */
 254:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x09,         /*bLength: Interface Descriptor size*/
 255:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_DESC_TYPE_INTERFACE,/*bDescriptorType: Interface descriptor type*/
 256:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*bInterfaceNumber: Number of Interface*/
 257:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*bAlternateSetting: Alternate setting*/
 258:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bNumEndpoints*/
 259:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x03,         /*bInterfaceClass: HID*/
 260:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bInterfaceSubClass : 1=BOOT, 0=no boot*/
 261:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse*/
 262:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0,            /*iInterface: Index of string descriptor*/
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 6


 263:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /******************** Descriptor of Joystick keyboard HID ********************/
 264:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 18 */
 265:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x09,         /*bLength: HID Descriptor size*/
 266:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_DESCRIPTOR_TYPE, /*bDescriptorType: HID*/
 267:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x11,         /*bcdHID: HID Class Spec release number*/
 268:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,
 269:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*bCountryCode: Hardware target country*/
 270:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bNumDescriptors: Number of HID class descriptors to follow*/
 271:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x22,         /*bDescriptorType*/
 272:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_KEYBOARD_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor*/
 273:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 274:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /******************** Descriptor of keyboard endpoint ********************/
 275:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 27 */
 276:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x07,          /*bLength: Endpoint Descriptor size*/
 277:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/
 278:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 279:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_EPIN_ADDR,     /*bEndpointAddress: Endpoint Address (IN)*/
 280:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x03,          /*bmAttributes: Interrupt endpoint*/
 281:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_EPIN_SIZE, /*wMaxPacketSize: 4 Byte max */
 282:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 283:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_FS_BINTERVAL,          /*bInterval: Polling Interval */
 284:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 34 */
 285:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** };
 286:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 287:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 288:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /* USB HID device Configuration Descriptor */
 289:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** __ALIGN_BEGIN static uint8_t USBD_HID_Desc[USB_HID_DESC_SIZ]  __ALIGN_END  =
 290:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 291:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* 18 */
 292:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x09,         /*bLength: HID Descriptor size*/
 293:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_DESCRIPTOR_TYPE, /*bDescriptorType: HID*/
 294:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x11,         /*bcdHID: HID Class Spec release number*/
 295:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,
 296:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,         /*bCountryCode: Hardware target country*/
 297:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,         /*bNumDescriptors: Number of HID class descriptors to follow*/
 298:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x22,         /*bDescriptorType*/
 299:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   HID_KEYBOARD_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor*/
 300:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 301:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** };
 302:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 303:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /* USB Standard Device Descriptor */
 304:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** __ALIGN_BEGIN static uint8_t USBD_HID_DeviceQualifierDesc[USB_LEN_DEV_QUALIFIER_DESC]  __ALIGN_END 
 305:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 306:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_LEN_DEV_QUALIFIER_DESC,
 307:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USB_DESC_TYPE_DEVICE_QUALIFIER,
 308:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 309:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x02,
 310:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 311:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 312:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 313:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x40,
 314:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x01,
 315:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   0x00,
 316:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** };
 317:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 318:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** __ALIGN_BEGIN static uint8_t HID_KEYBOARD_ReportDesc[HID_KEYBOARD_REPORT_DESC_SIZE]  __ALIGN_END =
 319:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 7


 320:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****      0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
 321:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x09, 0x06,                    // USAGE (Keyboard)
 322:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0xa1, 0x01,                    // COLLECTION (Application)
 323:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
 324:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x19, 0xe0,                    //   USAGE_MINIMUM (Keyboard LeftControl)
 325:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x29, 0xe7,                    //   USAGE_MAXIMUM (Keyboard Right GUI)
 326:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
 327:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
 328:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x75, 0x01,                    //   REPORT_SIZE (1)
 329:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x95, 0x08,                    //   REPORT_COUNT (8)
 330:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x81, 0x02,                    //   INPUT (Data,Var,Abs)
 331:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x95, 0x01,                    //   REPORT_COUNT (1)
 332:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x75, 0x08,                    //   REPORT_SIZE (8)
 333:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x81, 0x03,                    //   INPUT (Cnst,Var,Abs)
 334:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x95, 0x05,                    //   REPORT_COUNT (5)
 335:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x75, 0x01,                    //   REPORT_SIZE (1)
 336:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x05, 0x08,                    //   USAGE_PAGE (LEDs)
 337:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x19, 0x01,                    //   USAGE_MINIMUM (Num Lock)
 338:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x29, 0x05,                    //   USAGE_MAXIMUM (Kana)
 339:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x91, 0x02,                    //   OUTPUT (Data,Var,Abs)
 340:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x95, 0x01,                    //   REPORT_COUNT (1)
 341:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x75, 0x03,                    //   REPORT_SIZE (3)
 342:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x91, 0x03,                    //   OUTPUT (Cnst,Var,Abs)
 343:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x95, 0x06,                    //   REPORT_COUNT (6)
 344:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x75, 0x08,                    //   REPORT_SIZE (8)
 345:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
 346:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x25, 0x65,                    //   LOGICAL_MAXIMUM (101)
 347:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
 348:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x19, 0x00,                    //   USAGE_MINIMUM (Reserved (no event indicated))
 349:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x29, 0x65,                    //   USAGE_MAXIMUM (Keyboard Application)
 350:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0x81, 0x00,                    //   INPUT (Data,Ary,Abs)
 351:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     0xc0                           // END_COLLECTION
 352:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** };
 353:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 354:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 355:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @}
 356:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 357:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 358:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /** @defgroup USBD_HID_Private_Functions
 359:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @{
 360:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 361:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 362:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 363:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @brief  USBD_HID_Init
 364:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *         Initialize the HID interface
 365:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  pdev: device instance
 366:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  cfgidx: Configuration index
 367:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @retval status
 368:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 369:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  USBD_HID_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
 370:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 371:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* Open EP IN */
 372:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_LL_OpenEP(pdev, HID_EPIN_ADDR, USBD_EP_TYPE_INTR, HID_EPIN_SIZE);
 373:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   pdev->ep_in[HID_EPIN_ADDR & 0xFU].is_used = 1U;
 374:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 375:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   pdev->pClassData = USBD_malloc(sizeof(USBD_HID_HandleTypeDef));
 376:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 8


 377:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   if (pdev->pClassData == NULL)
 378:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   {
 379:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     return USBD_FAIL;
 380:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   }
 381:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 382:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   ((USBD_HID_HandleTypeDef *)pdev->pClassData)->state = HID_IDLE;
 383:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 384:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   return USBD_OK;
 385:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** }
 386:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 387:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 388:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @brief  USBD_HID_Init
 389:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *         DeInitialize the HID layer
 390:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  pdev: device instance
 391:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  cfgidx: Configuration index
 392:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @retval status
 393:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 394:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  USBD_HID_DeInit(USBD_HandleTypeDef *pdev,
 395:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                                 uint8_t cfgidx)
 396:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 397:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* Close HID EPs */
 398:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_LL_CloseEP(pdev, HID_EPIN_ADDR);
 399:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   pdev->ep_in[HID_EPIN_ADDR & 0xFU].is_used = 0U;
 400:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 401:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* FRee allocated memory */
 402:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   if (pdev->pClassData != NULL)
 403:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   {
 404:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     USBD_free(pdev->pClassData);
 405:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     pdev->pClassData = NULL;
 406:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   }
 407:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 408:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   return USBD_OK;
 409:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** }
 410:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 411:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 412:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @brief  USBD_HID_Setup
 413:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *         Handle the HID specific requests
 414:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  pdev: instance
 415:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  req: usb requests
 416:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @retval status
 417:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 418:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  USBD_HID_Setup(USBD_HandleTypeDef *pdev,
 419:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                                USBD_SetupReqTypedef *req)
 420:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 421:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_HandleTypeDef *hhid = (USBD_HID_HandleTypeDef *) pdev->pClassData;
 422:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   uint16_t len = 0U;
 423:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   uint8_t *pbuf = NULL;
 424:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   uint16_t status_info = 0U;
 425:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_StatusTypeDef ret = USBD_OK;
 426:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 427:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   switch (req->bmRequest & USB_REQ_TYPE_MASK)
 428:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   {
 429:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     case USB_REQ_TYPE_CLASS :
 430:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       switch (req->bRequest)
 431:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       {
 432:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****         case HID_REQ_SET_PROTOCOL:
 433:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           hhid->Protocol = (uint8_t)(req->wValue);
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 9


 434:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 435:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 436:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****         case HID_REQ_GET_PROTOCOL:
 437:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           USBD_CtlSendData(pdev, (uint8_t *)(void *)&hhid->Protocol, 1U);
 438:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 439:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 440:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****         case HID_REQ_SET_IDLE:
 441:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           hhid->IdleState = (uint8_t)(req->wValue >> 8);
 442:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 443:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 444:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****         case HID_REQ_GET_IDLE:
 445:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           USBD_CtlSendData(pdev, (uint8_t *)(void *)&hhid->IdleState, 1U);
 446:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 447:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 448:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****         default:
 449:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           USBD_CtlError(pdev, req);
 450:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           ret = USBD_FAIL;
 451:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 452:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       }
 453:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       break;
 454:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     case USB_REQ_TYPE_STANDARD:
 455:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       switch (req->bRequest)
 456:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       {
 457:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****         case USB_REQ_GET_STATUS:
 458:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           if (pdev->dev_state == USBD_STATE_CONFIGURED)
 459:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 460:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             USBD_CtlSendData(pdev, (uint8_t *)(void *)&status_info, 2U);
 461:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 462:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           else
 463:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 464:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             USBD_CtlError(pdev, req);
 465:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             ret = USBD_FAIL;
 466:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 467:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 468:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 469:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****         case USB_REQ_GET_DESCRIPTOR:
 470:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           if (req->wValue >> 8 == HID_REPORT_DESC)
 471:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 472:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             len = MIN(HID_KEYBOARD_REPORT_DESC_SIZE, req->wLength);
 473:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             pbuf = HID_KEYBOARD_ReportDesc;
 474:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 475:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           else if (req->wValue >> 8 == HID_DESCRIPTOR_TYPE)
 476:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 477:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             pbuf = USBD_HID_Desc;
 478:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             len = MIN(USB_HID_DESC_SIZ, req->wLength);
 479:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 480:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           else
 481:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 482:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             USBD_CtlError(pdev, req);
 483:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             ret = USBD_FAIL;
 484:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             break;
 485:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 486:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           USBD_CtlSendData(pdev, pbuf, len);
 487:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 488:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 489:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****         case USB_REQ_GET_INTERFACE :
 490:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           if (pdev->dev_state == USBD_STATE_CONFIGURED)
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 10


 491:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 492:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             USBD_CtlSendData(pdev, (uint8_t *)(void *)&hhid->AltSetting, 1U);
 493:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 494:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           else
 495:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 496:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             USBD_CtlError(pdev, req);
 497:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             ret = USBD_FAIL;
 498:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 499:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 500:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 501:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****         case USB_REQ_SET_INTERFACE :
 502:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           if (pdev->dev_state == USBD_STATE_CONFIGURED)
 503:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 504:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             hhid->AltSetting = (uint8_t)(req->wValue);
 505:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 506:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           else
 507:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 508:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             USBD_CtlError(pdev, req);
 509:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             ret = USBD_FAIL;
 510:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 511:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 512:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 513:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****         default:
 514:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           USBD_CtlError(pdev, req);
 515:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           ret = USBD_FAIL;
 516:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 517:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       }
 518:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       break;
 519:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 520:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     default:
 521:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       USBD_CtlError(pdev, req);
 522:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       ret = USBD_FAIL;
 523:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       break;
 524:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   }
 525:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 526:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   return ret;
 527:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** }
 528:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 529:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 530:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @brief  USBD_HID_SendReport
 531:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *         Send HID Report
 532:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  pdev: device instance
 533:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  buff: pointer to report
 534:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @retval status
 535:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 536:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** uint8_t USBD_HID_SendReport(USBD_HandleTypeDef  *pdev,
 537:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                             uint8_t *report,
 538:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                             uint16_t len)
 539:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 540:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_HandleTypeDef     *hhid = (USBD_HID_HandleTypeDef *)pdev->pClassData;
 541:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 542:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   if (pdev->dev_state == USBD_STATE_CONFIGURED)
 543:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   {
 544:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     if (hhid->state == HID_IDLE)
 545:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     {
 546:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       hhid->state = HID_BUSY;
 547:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       USBD_LL_Transmit(pdev,
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 11


 548:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                        HID_EPIN_ADDR,
 549:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                        report,
 550:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                        len);
 551:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     }
 552:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   }
 553:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   return USBD_OK;
 554:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** }
 555:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 556:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 557:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @brief  USBD_HID_GetPollingInterval
 558:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *         return polling interval from endpoint descriptor
 559:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  pdev: device instance
 560:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @retval polling interval
 561:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 562:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** uint32_t USBD_HID_GetPollingInterval(USBD_HandleTypeDef *pdev)
 563:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 564:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   uint32_t polling_interval = 0U;
 565:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 566:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* HIGH-speed endpoints */
 567:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   if (pdev->dev_speed == USBD_SPEED_HIGH)
 568:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   {
 569:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     /* Sets the data transfer polling interval for high speed transfers.
 570:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****      Values between 1..16 are allowed. Values correspond to interval
 571:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****      of 2 ^ (bInterval-1). This option (8 ms, corresponds to HID_HS_BINTERVAL */
 572:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     polling_interval = (((1U << (HID_HS_BINTERVAL - 1U))) / 8U);
 573:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   }
 574:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   else   /* LOW and FULL-speed endpoints */
 575:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   {
 576:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     /* Sets the data transfer polling interval for low and full
 577:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     speed transfers */
 578:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     polling_interval =  HID_FS_BINTERVAL;
 579:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   }
 580:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 581:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   return ((uint32_t)(polling_interval));
 582:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** }
 583:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 584:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 585:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @brief  USBD_HID_GetCfgFSDesc
 586:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *         return FS configuration descriptor
 587:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  speed : current device speed
 588:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  length : pointer data length
 589:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @retval pointer to descriptor buffer
 590:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 591:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  *USBD_HID_GetFSCfgDesc(uint16_t *length)
 592:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
  25              		.loc 1 592 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:
 593:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *length = sizeof(USBD_HID_CfgFSDesc);
  31              		.loc 1 593 0
  32 0000 2223     		movs	r3, #34
  33 0002 0380     		strh	r3, [r0]	@ movhi
 594:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   return USBD_HID_CfgFSDesc;
 595:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** }
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 12


  34              		.loc 1 595 0
  35 0004 0048     		ldr	r0, .L2
  36              	.LVL1:
  37 0006 7047     		bx	lr
  38              	.L3:
  39              		.align	2
  40              	.L2:
  41 0008 00000000 		.word	.LANCHOR0
  42              		.cfi_endproc
  43              	.LFE73:
  45              		.section	.text.USBD_HID_GetHSCfgDesc,"ax",%progbits
  46              		.align	1
  47              		.syntax unified
  48              		.thumb
  49              		.thumb_func
  50              		.fpu softvfp
  52              	USBD_HID_GetHSCfgDesc:
  53              	.LFB74:
 596:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 597:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 598:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @brief  USBD_HID_GetCfgHSDesc
 599:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *         return HS configuration descriptor
 600:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  speed : current device speed
 601:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  length : pointer data length
 602:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @retval pointer to descriptor buffer
 603:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 604:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  *USBD_HID_GetHSCfgDesc(uint16_t *length)
 605:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
  54              		.loc 1 605 0
  55              		.cfi_startproc
  56              		@ args = 0, pretend = 0, frame = 0
  57              		@ frame_needed = 0, uses_anonymous_args = 0
  58              		@ link register save eliminated.
  59              	.LVL2:
 606:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *length = sizeof(USBD_HID_CfgHSDesc);
  60              		.loc 1 606 0
  61 0000 2223     		movs	r3, #34
  62 0002 0380     		strh	r3, [r0]	@ movhi
 607:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   return USBD_HID_CfgHSDesc;
 608:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** }
  63              		.loc 1 608 0
  64 0004 0048     		ldr	r0, .L5
  65              	.LVL3:
  66 0006 7047     		bx	lr
  67              	.L6:
  68              		.align	2
  69              	.L5:
  70 0008 00000000 		.word	.LANCHOR1
  71              		.cfi_endproc
  72              	.LFE74:
  74              		.section	.text.USBD_HID_GetOtherSpeedCfgDesc,"ax",%progbits
  75              		.align	1
  76              		.syntax unified
  77              		.thumb
  78              		.thumb_func
  79              		.fpu softvfp
  81              	USBD_HID_GetOtherSpeedCfgDesc:
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 13


  82              	.LFB75:
 609:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 610:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 611:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @brief  USBD_HID_GetOtherSpeedCfgDesc
 612:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *         return other speed configuration descriptor
 613:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  speed : current device speed
 614:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  length : pointer data length
 615:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @retval pointer to descriptor buffer
 616:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 617:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  *USBD_HID_GetOtherSpeedCfgDesc(uint16_t *length)
 618:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
  83              		.loc 1 618 0
  84              		.cfi_startproc
  85              		@ args = 0, pretend = 0, frame = 0
  86              		@ frame_needed = 0, uses_anonymous_args = 0
  87              		@ link register save eliminated.
  88              	.LVL4:
 619:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *length = sizeof(USBD_HID_OtherSpeedCfgDesc);
  89              		.loc 1 619 0
  90 0000 2223     		movs	r3, #34
  91 0002 0380     		strh	r3, [r0]	@ movhi
 620:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   return USBD_HID_OtherSpeedCfgDesc;
 621:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** }
  92              		.loc 1 621 0
  93 0004 0048     		ldr	r0, .L8
  94              	.LVL5:
  95 0006 7047     		bx	lr
  96              	.L9:
  97              		.align	2
  98              	.L8:
  99 0008 00000000 		.word	.LANCHOR2
 100              		.cfi_endproc
 101              	.LFE75:
 103              		.section	.text.USBD_HID_DataIn,"ax",%progbits
 104              		.align	1
 105              		.syntax unified
 106              		.thumb
 107              		.thumb_func
 108              		.fpu softvfp
 110              	USBD_HID_DataIn:
 111              	.LFB76:
 622:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 623:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 624:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @brief  USBD_HID_DataIn
 625:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *         handle data IN Stage
 626:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  pdev: device instance
 627:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @param  epnum: endpoint index
 628:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   * @retval status
 629:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   */
 630:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  USBD_HID_DataIn(USBD_HandleTypeDef *pdev,
 631:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                                 uint8_t epnum)
 632:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 112              		.loc 1 632 0
 113              		.cfi_startproc
 114              		@ args = 0, pretend = 0, frame = 0
 115              		@ frame_needed = 0, uses_anonymous_args = 0
 116              		@ link register save eliminated.
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 14


 117              	.LVL6:
 633:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 634:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* Ensure that the FIFO is empty before a new transfer, this condition could
 635:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   be caused by  a new transfer before the end of the previous transfer */
 636:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   ((USBD_HID_HandleTypeDef *)pdev->pClassData)->state = HID_IDLE;
 118              		.loc 1 636 0
 119 0000 D0F8B832 		ldr	r3, [r0, #696]
 120 0004 0020     		movs	r0, #0
 121              	.LVL7:
 122 0006 1873     		strb	r0, [r3, #12]
 637:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   return USBD_OK;
 638:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** }
 123              		.loc 1 638 0
 124 0008 7047     		bx	lr
 125              		.cfi_endproc
 126              	.LFE76:
 128              		.section	.text.USBD_HID_GetDeviceQualifierDesc,"ax",%progbits
 129              		.align	1
 130              		.syntax unified
 131              		.thumb
 132              		.thumb_func
 133              		.fpu softvfp
 135              	USBD_HID_GetDeviceQualifierDesc:
 136              	.LFB77:
 639:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 640:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 641:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** /**
 642:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** * @brief  DeviceQualifierDescriptor
 643:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** *         return Device Qualifier descriptor
 644:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** * @param  length : pointer data length
 645:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** * @retval pointer to descriptor buffer
 646:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** */
 647:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** static uint8_t  *USBD_HID_GetDeviceQualifierDesc(uint16_t *length)
 648:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** {
 137              		.loc 1 648 0
 138              		.cfi_startproc
 139              		@ args = 0, pretend = 0, frame = 0
 140              		@ frame_needed = 0, uses_anonymous_args = 0
 141              		@ link register save eliminated.
 142              	.LVL8:
 649:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   *length = sizeof(USBD_HID_DeviceQualifierDesc);
 143              		.loc 1 649 0
 144 0000 0A23     		movs	r3, #10
 145 0002 0380     		strh	r3, [r0]	@ movhi
 650:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   return USBD_HID_DeviceQualifierDesc;
 651:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** }
 146              		.loc 1 651 0
 147 0004 0048     		ldr	r0, .L12
 148              	.LVL9:
 149 0006 7047     		bx	lr
 150              	.L13:
 151              		.align	2
 152              	.L12:
 153 0008 00000000 		.word	.LANCHOR3
 154              		.cfi_endproc
 155              	.LFE77:
 157              		.section	.text.USBD_HID_Setup,"ax",%progbits
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 15


 158              		.align	1
 159              		.syntax unified
 160              		.thumb
 161              		.thumb_func
 162              		.fpu softvfp
 164              	USBD_HID_Setup:
 165              	.LFB70:
 420:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_HandleTypeDef *hhid = (USBD_HID_HandleTypeDef *) pdev->pClassData;
 166              		.loc 1 420 0
 167              		.cfi_startproc
 168              		@ args = 0, pretend = 0, frame = 8
 169              		@ frame_needed = 0, uses_anonymous_args = 0
 170              	.LVL10:
 171 0000 10B5     		push	{r4, lr}
 172              	.LCFI0:
 173              		.cfi_def_cfa_offset 8
 174              		.cfi_offset 4, -8
 175              		.cfi_offset 14, -4
 176 0002 82B0     		sub	sp, sp, #8
 177              	.LCFI1:
 178              		.cfi_def_cfa_offset 16
 421:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   uint16_t len = 0U;
 179              		.loc 1 421 0
 180 0004 D0F8B842 		ldr	r4, [r0, #696]
 181              	.LVL11:
 424:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_StatusTypeDef ret = USBD_OK;
 182              		.loc 1 424 0
 183 0008 0023     		movs	r3, #0
 184 000a ADF80630 		strh	r3, [sp, #6]	@ movhi
 185              	.LVL12:
 427:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   {
 186              		.loc 1 427 0
 187 000e 0B78     		ldrb	r3, [r1]	@ zero_extendqisi2
 188 0010 13F06003 		ands	r3, r3, #96
 189 0014 25D0     		beq	.L16
 190 0016 202B     		cmp	r3, #32
 191 0018 75D1     		bne	.L37
 430:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       {
 192              		.loc 1 430 0
 193 001a 4B78     		ldrb	r3, [r1, #1]	@ zero_extendqisi2
 194 001c 023B     		subs	r3, r3, #2
 195 001e 092B     		cmp	r3, #9
 196 0020 1BD8     		bhi	.L18
 197 0022 DFE803F0 		tbb	[pc, r3]
 198              	.L20:
 199 0026 14       		.byte	(.L19-.L20)/2
 200 0027 09       		.byte	(.L21-.L20)/2
 201 0028 1A       		.byte	(.L18-.L20)/2
 202 0029 1A       		.byte	(.L18-.L20)/2
 203 002a 1A       		.byte	(.L18-.L20)/2
 204 002b 1A       		.byte	(.L18-.L20)/2
 205 002c 1A       		.byte	(.L18-.L20)/2
 206 002d 1A       		.byte	(.L18-.L20)/2
 207 002e 0F       		.byte	(.L22-.L20)/2
 208 002f 05       		.byte	(.L23-.L20)/2
 209              		.p2align 1
 210              	.L23:
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 16


 433:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 211              		.loc 1 433 0
 212 0030 8B78     		ldrb	r3, [r1, #2]	@ zero_extendqisi2
 213 0032 2360     		str	r3, [r4]
 425:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 214              		.loc 1 425 0
 215 0034 0020     		movs	r0, #0
 216              	.LVL13:
 434:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 217              		.loc 1 434 0
 218 0036 69E0     		b	.L24
 219              	.LVL14:
 220              	.L21:
 437:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 221              		.loc 1 437 0
 222 0038 0122     		movs	r2, #1
 223 003a 2146     		mov	r1, r4
 224              	.LVL15:
 225 003c FFF7FEFF 		bl	USBD_CtlSendData
 226              	.LVL16:
 425:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 227              		.loc 1 425 0
 228 0040 0020     		movs	r0, #0
 438:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 229              		.loc 1 438 0
 230 0042 63E0     		b	.L24
 231              	.LVL17:
 232              	.L22:
 441:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 233              		.loc 1 441 0
 234 0044 4B88     		ldrh	r3, [r1, #2]
 235 0046 1B0A     		lsrs	r3, r3, #8
 236 0048 6360     		str	r3, [r4, #4]
 425:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 237              		.loc 1 425 0
 238 004a 0020     		movs	r0, #0
 239              	.LVL18:
 442:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 240              		.loc 1 442 0
 241 004c 5EE0     		b	.L24
 242              	.LVL19:
 243              	.L19:
 445:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 244              		.loc 1 445 0
 245 004e 0122     		movs	r2, #1
 246 0050 211D     		adds	r1, r4, #4
 247              	.LVL20:
 248 0052 FFF7FEFF 		bl	USBD_CtlSendData
 249              	.LVL21:
 425:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 250              		.loc 1 425 0
 251 0056 0020     		movs	r0, #0
 446:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 252              		.loc 1 446 0
 253 0058 58E0     		b	.L24
 254              	.LVL22:
 255              	.L18:
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 17


 449:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           ret = USBD_FAIL;
 256              		.loc 1 449 0
 257 005a FFF7FEFF 		bl	USBD_CtlError
 258              	.LVL23:
 450:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 259              		.loc 1 450 0
 260 005e 0220     		movs	r0, #2
 451:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       }
 261              		.loc 1 451 0
 262 0060 54E0     		b	.L24
 263              	.LVL24:
 264              	.L16:
 455:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       {
 265              		.loc 1 455 0
 266 0062 4B78     		ldrb	r3, [r1, #1]	@ zero_extendqisi2
 267 0064 0B2B     		cmp	r3, #11
 268 0066 4AD8     		bhi	.L25
 269 0068 DFE803F0 		tbb	[pc, r3]
 270              	.L27:
 271 006c 06       		.byte	(.L26-.L27)/2
 272 006d 49       		.byte	(.L25-.L27)/2
 273 006e 49       		.byte	(.L25-.L27)/2
 274 006f 49       		.byte	(.L25-.L27)/2
 275 0070 49       		.byte	(.L25-.L27)/2
 276 0071 49       		.byte	(.L25-.L27)/2
 277 0072 15       		.byte	(.L28-.L27)/2
 278 0073 49       		.byte	(.L25-.L27)/2
 279 0074 49       		.byte	(.L25-.L27)/2
 280 0075 49       		.byte	(.L25-.L27)/2
 281 0076 2E       		.byte	(.L29-.L27)/2
 282 0077 3D       		.byte	(.L30-.L27)/2
 283              		.p2align 1
 284              	.L26:
 458:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 285              		.loc 1 458 0
 286 0078 90F89C32 		ldrb	r3, [r0, #668]	@ zero_extendqisi2
 287 007c 032B     		cmp	r3, #3
 288 007e 06D1     		bne	.L31
 460:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 289              		.loc 1 460 0
 290 0080 0222     		movs	r2, #2
 291 0082 0DF10601 		add	r1, sp, #6
 292              	.LVL25:
 293 0086 FFF7FEFF 		bl	USBD_CtlSendData
 294              	.LVL26:
 425:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 295              		.loc 1 425 0
 296 008a 0020     		movs	r0, #0
 297 008c 3EE0     		b	.L24
 298              	.LVL27:
 299              	.L31:
 464:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             ret = USBD_FAIL;
 300              		.loc 1 464 0
 301 008e FFF7FEFF 		bl	USBD_CtlError
 302              	.LVL28:
 465:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 303              		.loc 1 465 0
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 18


 304 0092 0220     		movs	r0, #2
 305 0094 3AE0     		b	.L24
 306              	.LVL29:
 307              	.L28:
 470:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 308              		.loc 1 470 0
 309 0096 4B88     		ldrh	r3, [r1, #2]
 310 0098 1B0A     		lsrs	r3, r3, #8
 311 009a 222B     		cmp	r3, #34
 312 009c 0AD0     		beq	.L39
 475:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 313              		.loc 1 475 0
 314 009e 212B     		cmp	r3, #33
 315 00a0 0ED1     		bne	.L34
 316              	.LVL30:
 478:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 317              		.loc 1 478 0
 318 00a2 CA88     		ldrh	r2, [r1, #6]
 319 00a4 092A     		cmp	r2, #9
 320 00a6 28BF     		it	cs
 321 00a8 0922     		movcs	r2, #9
 322              	.LVL31:
 477:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             len = MIN(USB_HID_DESC_SIZ, req->wLength);
 323              		.loc 1 477 0
 324 00aa 1949     		ldr	r1, .L40
 325              	.LVL32:
 326              	.L33:
 486:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 327              		.loc 1 486 0
 328 00ac FFF7FEFF 		bl	USBD_CtlSendData
 329              	.LVL33:
 425:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 330              		.loc 1 425 0
 331 00b0 0020     		movs	r0, #0
 487:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 332              		.loc 1 487 0
 333 00b2 2BE0     		b	.L24
 334              	.LVL34:
 335              	.L39:
 472:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             pbuf = HID_KEYBOARD_ReportDesc;
 336              		.loc 1 472 0
 337 00b4 CA88     		ldrh	r2, [r1, #6]
 338 00b6 3F2A     		cmp	r2, #63
 339 00b8 28BF     		it	cs
 340 00ba 3F22     		movcs	r2, #63
 341              	.LVL35:
 473:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 342              		.loc 1 473 0
 343 00bc 1549     		ldr	r1, .L40+4
 344              	.LVL36:
 345 00be F5E7     		b	.L33
 346              	.LVL37:
 347              	.L34:
 482:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             ret = USBD_FAIL;
 348              		.loc 1 482 0
 349 00c0 FFF7FEFF 		bl	USBD_CtlError
 350              	.LVL38:
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 19


 483:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             break;
 351              		.loc 1 483 0
 352 00c4 0220     		movs	r0, #2
 484:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 353              		.loc 1 484 0
 354 00c6 21E0     		b	.L24
 355              	.LVL39:
 356              	.L29:
 490:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 357              		.loc 1 490 0
 358 00c8 90F89C32 		ldrb	r3, [r0, #668]	@ zero_extendqisi2
 359 00cc 032B     		cmp	r3, #3
 360 00ce 06D1     		bne	.L35
 492:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 361              		.loc 1 492 0
 362 00d0 0122     		movs	r2, #1
 363 00d2 04F10801 		add	r1, r4, #8
 364              	.LVL40:
 365 00d6 FFF7FEFF 		bl	USBD_CtlSendData
 366              	.LVL41:
 425:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 367              		.loc 1 425 0
 368 00da 0020     		movs	r0, #0
 369 00dc 16E0     		b	.L24
 370              	.LVL42:
 371              	.L35:
 496:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             ret = USBD_FAIL;
 372              		.loc 1 496 0
 373 00de FFF7FEFF 		bl	USBD_CtlError
 374              	.LVL43:
 497:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 375              		.loc 1 497 0
 376 00e2 0220     		movs	r0, #2
 377 00e4 12E0     		b	.L24
 378              	.LVL44:
 379              	.L30:
 502:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           {
 380              		.loc 1 502 0
 381 00e6 90F89C32 		ldrb	r3, [r0, #668]	@ zero_extendqisi2
 382 00ea 032B     		cmp	r3, #3
 383 00ec 03D1     		bne	.L36
 504:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
 384              		.loc 1 504 0
 385 00ee 8B78     		ldrb	r3, [r1, #2]	@ zero_extendqisi2
 386 00f0 A360     		str	r3, [r4, #8]
 425:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 387              		.loc 1 425 0
 388 00f2 0020     		movs	r0, #0
 389              	.LVL45:
 390 00f4 0AE0     		b	.L24
 391              	.LVL46:
 392              	.L36:
 508:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****             ret = USBD_FAIL;
 393              		.loc 1 508 0
 394 00f6 FFF7FEFF 		bl	USBD_CtlError
 395              	.LVL47:
 509:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           }
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 20


 396              		.loc 1 509 0
 397 00fa 0220     		movs	r0, #2
 398 00fc 06E0     		b	.L24
 399              	.LVL48:
 400              	.L25:
 514:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           ret = USBD_FAIL;
 401              		.loc 1 514 0
 402 00fe FFF7FEFF 		bl	USBD_CtlError
 403              	.LVL49:
 515:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****           break;
 404              		.loc 1 515 0
 405 0102 0220     		movs	r0, #2
 516:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       }
 406              		.loc 1 516 0
 407 0104 02E0     		b	.L24
 408              	.LVL50:
 409              	.L37:
 521:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       ret = USBD_FAIL;
 410              		.loc 1 521 0
 411 0106 FFF7FEFF 		bl	USBD_CtlError
 412              	.LVL51:
 522:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       break;
 413              		.loc 1 522 0
 414 010a 0220     		movs	r0, #2
 415              	.LVL52:
 416              	.L24:
 527:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 417              		.loc 1 527 0
 418 010c 02B0     		add	sp, sp, #8
 419              	.LCFI2:
 420              		.cfi_def_cfa_offset 8
 421              		@ sp needed
 422 010e 10BD     		pop	{r4, pc}
 423              	.LVL53:
 424              	.L41:
 425              		.align	2
 426              	.L40:
 427 0110 00000000 		.word	.LANCHOR5
 428 0114 00000000 		.word	.LANCHOR4
 429              		.cfi_endproc
 430              	.LFE70:
 432              		.section	.text.USBD_HID_DeInit,"ax",%progbits
 433              		.align	1
 434              		.syntax unified
 435              		.thumb
 436              		.thumb_func
 437              		.fpu softvfp
 439              	USBD_HID_DeInit:
 440              	.LFB69:
 396:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* Close HID EPs */
 441              		.loc 1 396 0
 442              		.cfi_startproc
 443              		@ args = 0, pretend = 0, frame = 0
 444              		@ frame_needed = 0, uses_anonymous_args = 0
 445              	.LVL54:
 446 0000 10B5     		push	{r4, lr}
 447              	.LCFI3:
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 21


 448              		.cfi_def_cfa_offset 8
 449              		.cfi_offset 4, -8
 450              		.cfi_offset 14, -4
 451 0002 0446     		mov	r4, r0
 398:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   pdev->ep_in[HID_EPIN_ADDR & 0xFU].is_used = 0U;
 452              		.loc 1 398 0
 453 0004 8121     		movs	r1, #129
 454              	.LVL55:
 455 0006 FFF7FEFF 		bl	USBD_LL_CloseEP
 456              	.LVL56:
 399:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 457              		.loc 1 399 0
 458 000a 0023     		movs	r3, #0
 459 000c E362     		str	r3, [r4, #44]
 402:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   {
 460              		.loc 1 402 0
 461 000e D4F8B802 		ldr	r0, [r4, #696]
 462 0012 20B1     		cbz	r0, .L43
 404:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     pdev->pClassData = NULL;
 463              		.loc 1 404 0
 464 0014 FFF7FEFF 		bl	USBD_static_free
 465              	.LVL57:
 405:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   }
 466              		.loc 1 405 0
 467 0018 0023     		movs	r3, #0
 468 001a C4F8B832 		str	r3, [r4, #696]
 469              	.L43:
 409:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 470              		.loc 1 409 0
 471 001e 0020     		movs	r0, #0
 472 0020 10BD     		pop	{r4, pc}
 473              		.cfi_endproc
 474              	.LFE69:
 476              		.section	.text.USBD_HID_Init,"ax",%progbits
 477              		.align	1
 478              		.syntax unified
 479              		.thumb
 480              		.thumb_func
 481              		.fpu softvfp
 483              	USBD_HID_Init:
 484              	.LFB68:
 370:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   /* Open EP IN */
 485              		.loc 1 370 0
 486              		.cfi_startproc
 487              		@ args = 0, pretend = 0, frame = 0
 488              		@ frame_needed = 0, uses_anonymous_args = 0
 489              	.LVL58:
 490 0000 10B5     		push	{r4, lr}
 491              	.LCFI4:
 492              		.cfi_def_cfa_offset 8
 493              		.cfi_offset 4, -8
 494              		.cfi_offset 14, -4
 495 0002 0446     		mov	r4, r0
 372:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   pdev->ep_in[HID_EPIN_ADDR & 0xFU].is_used = 1U;
 496              		.loc 1 372 0
 497 0004 0423     		movs	r3, #4
 498 0006 0322     		movs	r2, #3
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 22


 499 0008 8121     		movs	r1, #129
 500              	.LVL59:
 501 000a FFF7FEFF 		bl	USBD_LL_OpenEP
 502              	.LVL60:
 373:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 503              		.loc 1 373 0
 504 000e 0123     		movs	r3, #1
 505 0010 E362     		str	r3, [r4, #44]
 375:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 506              		.loc 1 375 0
 507 0012 1020     		movs	r0, #16
 508 0014 FFF7FEFF 		bl	USBD_static_malloc
 509              	.LVL61:
 510 0018 C4F8B802 		str	r0, [r4, #696]
 377:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   {
 511              		.loc 1 377 0
 512 001c 18B1     		cbz	r0, .L47
 382:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 513              		.loc 1 382 0
 514 001e 0023     		movs	r3, #0
 515 0020 0373     		strb	r3, [r0, #12]
 384:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** }
 516              		.loc 1 384 0
 517 0022 1846     		mov	r0, r3
 518              	.L46:
 385:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 519              		.loc 1 385 0
 520 0024 10BD     		pop	{r4, pc}
 521              	.LVL62:
 522              	.L47:
 379:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   }
 523              		.loc 1 379 0
 524 0026 0220     		movs	r0, #2
 525 0028 FCE7     		b	.L46
 526              		.cfi_endproc
 527              	.LFE68:
 529              		.section	.text.USBD_HID_SendReport,"ax",%progbits
 530              		.align	1
 531              		.global	USBD_HID_SendReport
 532              		.syntax unified
 533              		.thumb
 534              		.thumb_func
 535              		.fpu softvfp
 537              	USBD_HID_SendReport:
 538              	.LFB71:
 539:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   USBD_HID_HandleTypeDef     *hhid = (USBD_HID_HandleTypeDef *)pdev->pClassData;
 539              		.loc 1 539 0
 540              		.cfi_startproc
 541              		@ args = 0, pretend = 0, frame = 0
 542              		@ frame_needed = 0, uses_anonymous_args = 0
 543              	.LVL63:
 544 0000 38B5     		push	{r3, r4, r5, lr}
 545              	.LCFI5:
 546              		.cfi_def_cfa_offset 16
 547              		.cfi_offset 3, -16
 548              		.cfi_offset 4, -12
 549              		.cfi_offset 5, -8
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 23


 550              		.cfi_offset 14, -4
 540:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 551              		.loc 1 540 0
 552 0002 D0F8B852 		ldr	r5, [r0, #696]
 553              	.LVL64:
 542:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   {
 554              		.loc 1 542 0
 555 0006 90F89C42 		ldrb	r4, [r0, #668]	@ zero_extendqisi2
 556 000a 032C     		cmp	r4, #3
 557 000c 01D0     		beq	.L52
 558              	.LVL65:
 559              	.L50:
 554:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 560              		.loc 1 554 0
 561 000e 0020     		movs	r0, #0
 562 0010 38BD     		pop	{r3, r4, r5, pc}
 563              	.LVL66:
 564              	.L52:
 544:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****     {
 565              		.loc 1 544 0
 566 0012 2B7B     		ldrb	r3, [r5, #12]	@ zero_extendqisi2
 567 0014 002B     		cmp	r3, #0
 568 0016 FAD1     		bne	.L50
 569 0018 1346     		mov	r3, r2
 570 001a 0A46     		mov	r2, r1
 571              	.LVL67:
 546:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****       USBD_LL_Transmit(pdev,
 572              		.loc 1 546 0
 573 001c 0121     		movs	r1, #1
 574              	.LVL68:
 575 001e 2973     		strb	r1, [r5, #12]
 547:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****                        HID_EPIN_ADDR,
 576              		.loc 1 547 0
 577 0020 8121     		movs	r1, #129
 578 0022 FFF7FEFF 		bl	USBD_LL_Transmit
 579              	.LVL69:
 580 0026 F2E7     		b	.L50
 581              		.cfi_endproc
 582              	.LFE71:
 584              		.section	.text.USBD_HID_GetPollingInterval,"ax",%progbits
 585              		.align	1
 586              		.global	USBD_HID_GetPollingInterval
 587              		.syntax unified
 588              		.thumb
 589              		.thumb_func
 590              		.fpu softvfp
 592              	USBD_HID_GetPollingInterval:
 593              	.LFB72:
 563:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   uint32_t polling_interval = 0U;
 594              		.loc 1 563 0
 595              		.cfi_startproc
 596              		@ args = 0, pretend = 0, frame = 0
 597              		@ frame_needed = 0, uses_anonymous_args = 0
 598              		@ link register save eliminated.
 599              	.LVL70:
 567:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   {
 600              		.loc 1 567 0
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 24


 601 0000 037C     		ldrb	r3, [r0, #16]	@ zero_extendqisi2
 602 0002 0BB1     		cbz	r3, .L56
 578:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   }
 603              		.loc 1 578 0
 604 0004 0A20     		movs	r0, #10
 605              	.LVL71:
 582:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c **** 
 606              		.loc 1 582 0
 607 0006 7047     		bx	lr
 608              	.LVL72:
 609              	.L56:
 572:Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c ****   }
 610              		.loc 1 572 0
 611 0008 0820     		movs	r0, #8
 612              	.LVL73:
 613 000a 7047     		bx	lr
 614              		.cfi_endproc
 615              	.LFE72:
 617              		.global	USBD_HID
 618              		.section	.data.HID_KEYBOARD_ReportDesc,"aw",%progbits
 619              		.align	2
 620              		.set	.LANCHOR4,. + 0
 623              	HID_KEYBOARD_ReportDesc:
 624 0000 05       		.byte	5
 625 0001 01       		.byte	1
 626 0002 09       		.byte	9
 627 0003 06       		.byte	6
 628 0004 A1       		.byte	-95
 629 0005 01       		.byte	1
 630 0006 05       		.byte	5
 631 0007 07       		.byte	7
 632 0008 19       		.byte	25
 633 0009 E0       		.byte	-32
 634 000a 29       		.byte	41
 635 000b E7       		.byte	-25
 636 000c 15       		.byte	21
 637 000d 00       		.byte	0
 638 000e 25       		.byte	37
 639 000f 01       		.byte	1
 640 0010 75       		.byte	117
 641 0011 01       		.byte	1
 642 0012 95       		.byte	-107
 643 0013 08       		.byte	8
 644 0014 81       		.byte	-127
 645 0015 02       		.byte	2
 646 0016 95       		.byte	-107
 647 0017 01       		.byte	1
 648 0018 75       		.byte	117
 649 0019 08       		.byte	8
 650 001a 81       		.byte	-127
 651 001b 03       		.byte	3
 652 001c 95       		.byte	-107
 653 001d 05       		.byte	5
 654 001e 75       		.byte	117
 655 001f 01       		.byte	1
 656 0020 05       		.byte	5
 657 0021 08       		.byte	8
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 25


 658 0022 19       		.byte	25
 659 0023 01       		.byte	1
 660 0024 29       		.byte	41
 661 0025 05       		.byte	5
 662 0026 91       		.byte	-111
 663 0027 02       		.byte	2
 664 0028 95       		.byte	-107
 665 0029 01       		.byte	1
 666 002a 75       		.byte	117
 667 002b 03       		.byte	3
 668 002c 91       		.byte	-111
 669 002d 03       		.byte	3
 670 002e 95       		.byte	-107
 671 002f 06       		.byte	6
 672 0030 75       		.byte	117
 673 0031 08       		.byte	8
 674 0032 15       		.byte	21
 675 0033 00       		.byte	0
 676 0034 25       		.byte	37
 677 0035 65       		.byte	101
 678 0036 05       		.byte	5
 679 0037 07       		.byte	7
 680 0038 19       		.byte	25
 681 0039 00       		.byte	0
 682 003a 29       		.byte	41
 683 003b 65       		.byte	101
 684 003c 81       		.byte	-127
 685 003d 00       		.byte	0
 686 003e C0       		.byte	-64
 687              		.section	.data.USBD_HID,"aw",%progbits
 688              		.align	2
 691              	USBD_HID:
 692 0000 00000000 		.word	USBD_HID_Init
 693 0004 00000000 		.word	USBD_HID_DeInit
 694 0008 00000000 		.word	USBD_HID_Setup
 695 000c 00000000 		.word	0
 696 0010 00000000 		.word	0
 697 0014 00000000 		.word	USBD_HID_DataIn
 698 0018 00000000 		.word	0
 699 001c 00000000 		.word	0
 700 0020 00000000 		.word	0
 701 0024 00000000 		.word	0
 702 0028 00000000 		.word	USBD_HID_GetHSCfgDesc
 703 002c 00000000 		.word	USBD_HID_GetFSCfgDesc
 704 0030 00000000 		.word	USBD_HID_GetOtherSpeedCfgDesc
 705 0034 00000000 		.word	USBD_HID_GetDeviceQualifierDesc
 706              		.section	.data.USBD_HID_CfgFSDesc,"aw",%progbits
 707              		.align	2
 708              		.set	.LANCHOR0,. + 0
 711              	USBD_HID_CfgFSDesc:
 712 0000 09       		.byte	9
 713 0001 02       		.byte	2
 714 0002 22       		.byte	34
 715 0003 00       		.byte	0
 716 0004 01       		.byte	1
 717 0005 01       		.byte	1
 718 0006 00       		.byte	0
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 26


 719 0007 E0       		.byte	-32
 720 0008 32       		.byte	50
 721 0009 09       		.byte	9
 722 000a 04       		.byte	4
 723 000b 00       		.byte	0
 724 000c 00       		.byte	0
 725 000d 01       		.byte	1
 726 000e 03       		.byte	3
 727 000f 01       		.byte	1
 728 0010 01       		.byte	1
 729 0011 00       		.byte	0
 730 0012 09       		.byte	9
 731 0013 21       		.byte	33
 732 0014 11       		.byte	17
 733 0015 01       		.byte	1
 734 0016 00       		.byte	0
 735 0017 01       		.byte	1
 736 0018 22       		.byte	34
 737 0019 3F       		.byte	63
 738 001a 00       		.byte	0
 739 001b 07       		.byte	7
 740 001c 05       		.byte	5
 741 001d 81       		.byte	-127
 742 001e 03       		.byte	3
 743 001f 04       		.byte	4
 744 0020 00       		.byte	0
 745 0021 0A       		.byte	10
 746              		.section	.data.USBD_HID_CfgHSDesc,"aw",%progbits
 747              		.align	2
 748              		.set	.LANCHOR1,. + 0
 751              	USBD_HID_CfgHSDesc:
 752 0000 09       		.byte	9
 753 0001 02       		.byte	2
 754 0002 22       		.byte	34
 755 0003 00       		.byte	0
 756 0004 01       		.byte	1
 757 0005 01       		.byte	1
 758 0006 00       		.byte	0
 759 0007 E0       		.byte	-32
 760 0008 32       		.byte	50
 761 0009 09       		.byte	9
 762 000a 04       		.byte	4
 763 000b 00       		.byte	0
 764 000c 00       		.byte	0
 765 000d 01       		.byte	1
 766 000e 03       		.byte	3
 767 000f 01       		.byte	1
 768 0010 01       		.byte	1
 769 0011 00       		.byte	0
 770 0012 09       		.byte	9
 771 0013 21       		.byte	33
 772 0014 11       		.byte	17
 773 0015 01       		.byte	1
 774 0016 00       		.byte	0
 775 0017 01       		.byte	1
 776 0018 22       		.byte	34
 777 0019 3F       		.byte	63
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 27


 778 001a 00       		.byte	0
 779 001b 07       		.byte	7
 780 001c 05       		.byte	5
 781 001d 81       		.byte	-127
 782 001e 03       		.byte	3
 783 001f 04       		.byte	4
 784 0020 00       		.byte	0
 785 0021 07       		.byte	7
 786              		.section	.data.USBD_HID_Desc,"aw",%progbits
 787              		.align	2
 788              		.set	.LANCHOR5,. + 0
 791              	USBD_HID_Desc:
 792 0000 09       		.byte	9
 793 0001 21       		.byte	33
 794 0002 11       		.byte	17
 795 0003 01       		.byte	1
 796 0004 00       		.byte	0
 797 0005 01       		.byte	1
 798 0006 22       		.byte	34
 799 0007 3F       		.byte	63
 800 0008 00       		.byte	0
 801              		.section	.data.USBD_HID_DeviceQualifierDesc,"aw",%progbits
 802              		.align	2
 803              		.set	.LANCHOR3,. + 0
 806              	USBD_HID_DeviceQualifierDesc:
 807 0000 0A       		.byte	10
 808 0001 06       		.byte	6
 809 0002 00       		.byte	0
 810 0003 02       		.byte	2
 811 0004 00       		.byte	0
 812 0005 00       		.byte	0
 813 0006 00       		.byte	0
 814 0007 40       		.byte	64
 815 0008 01       		.byte	1
 816 0009 00       		.byte	0
 817              		.section	.data.USBD_HID_OtherSpeedCfgDesc,"aw",%progbits
 818              		.align	2
 819              		.set	.LANCHOR2,. + 0
 822              	USBD_HID_OtherSpeedCfgDesc:
 823 0000 09       		.byte	9
 824 0001 02       		.byte	2
 825 0002 22       		.byte	34
 826 0003 00       		.byte	0
 827 0004 01       		.byte	1
 828 0005 01       		.byte	1
 829 0006 00       		.byte	0
 830 0007 E0       		.byte	-32
 831 0008 32       		.byte	50
 832 0009 09       		.byte	9
 833 000a 04       		.byte	4
 834 000b 00       		.byte	0
 835 000c 00       		.byte	0
 836 000d 01       		.byte	1
 837 000e 03       		.byte	3
 838 000f 01       		.byte	1
 839 0010 01       		.byte	1
 840 0011 00       		.byte	0
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 28


 841 0012 09       		.byte	9
 842 0013 21       		.byte	33
 843 0014 11       		.byte	17
 844 0015 01       		.byte	1
 845 0016 00       		.byte	0
 846 0017 01       		.byte	1
 847 0018 22       		.byte	34
 848 0019 3F       		.byte	63
 849 001a 00       		.byte	0
 850 001b 07       		.byte	7
 851 001c 05       		.byte	5
 852 001d 81       		.byte	-127
 853 001e 03       		.byte	3
 854 001f 04       		.byte	4
 855 0020 00       		.byte	0
 856 0021 0A       		.byte	10
 857              		.text
 858              	.Letext0:
 859              		.file 2 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 860              		.file 3 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 861              		.file 4 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 862              		.file 5 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\lib\\gcc\\arm-none-eabi
 863              		.file 6 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 864              		.file 7 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 865              		.file 8 "c:\\program files (x86)\\gnu tools arm embedded\\7 2017-q4-major\\arm-none-eabi\\include\
 866              		.file 9 "Drivers/CMSIS/Include/core_cm3.h"
 867              		.file 10 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
 868              		.file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
 869              		.file 12 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
 870              		.file 13 "Middlewares/ST/STM32_USB_Device_Library/Class/HID/Inc/usbd_hid.h"
 871              		.file 14 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
 872              		.file 15 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h"
 873              		.file 16 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h"
 874              		.file 17 "Inc/usbd_conf.h"
ARM GAS  X:\TMP\USER_T~1\ccclbGWf.s 			page 29


DEFINED SYMBOLS
                            *ABS*:00000000 usbd_hid.c
X:\TMP\USER_T~1\ccclbGWf.s:16     .text.USBD_HID_GetFSCfgDesc:00000000 $t
X:\TMP\USER_T~1\ccclbGWf.s:22     .text.USBD_HID_GetFSCfgDesc:00000000 USBD_HID_GetFSCfgDesc
X:\TMP\USER_T~1\ccclbGWf.s:41     .text.USBD_HID_GetFSCfgDesc:00000008 $d
X:\TMP\USER_T~1\ccclbGWf.s:46     .text.USBD_HID_GetHSCfgDesc:00000000 $t
X:\TMP\USER_T~1\ccclbGWf.s:52     .text.USBD_HID_GetHSCfgDesc:00000000 USBD_HID_GetHSCfgDesc
X:\TMP\USER_T~1\ccclbGWf.s:70     .text.USBD_HID_GetHSCfgDesc:00000008 $d
X:\TMP\USER_T~1\ccclbGWf.s:75     .text.USBD_HID_GetOtherSpeedCfgDesc:00000000 $t
X:\TMP\USER_T~1\ccclbGWf.s:81     .text.USBD_HID_GetOtherSpeedCfgDesc:00000000 USBD_HID_GetOtherSpeedCfgDesc
X:\TMP\USER_T~1\ccclbGWf.s:99     .text.USBD_HID_GetOtherSpeedCfgDesc:00000008 $d
X:\TMP\USER_T~1\ccclbGWf.s:104    .text.USBD_HID_DataIn:00000000 $t
X:\TMP\USER_T~1\ccclbGWf.s:110    .text.USBD_HID_DataIn:00000000 USBD_HID_DataIn
X:\TMP\USER_T~1\ccclbGWf.s:129    .text.USBD_HID_GetDeviceQualifierDesc:00000000 $t
X:\TMP\USER_T~1\ccclbGWf.s:135    .text.USBD_HID_GetDeviceQualifierDesc:00000000 USBD_HID_GetDeviceQualifierDesc
X:\TMP\USER_T~1\ccclbGWf.s:153    .text.USBD_HID_GetDeviceQualifierDesc:00000008 $d
X:\TMP\USER_T~1\ccclbGWf.s:158    .text.USBD_HID_Setup:00000000 $t
X:\TMP\USER_T~1\ccclbGWf.s:164    .text.USBD_HID_Setup:00000000 USBD_HID_Setup
X:\TMP\USER_T~1\ccclbGWf.s:199    .text.USBD_HID_Setup:00000026 $d
X:\TMP\USER_T~1\ccclbGWf.s:209    .text.USBD_HID_Setup:00000030 $t
X:\TMP\USER_T~1\ccclbGWf.s:271    .text.USBD_HID_Setup:0000006c $d
X:\TMP\USER_T~1\ccclbGWf.s:283    .text.USBD_HID_Setup:00000078 $t
X:\TMP\USER_T~1\ccclbGWf.s:427    .text.USBD_HID_Setup:00000110 $d
X:\TMP\USER_T~1\ccclbGWf.s:433    .text.USBD_HID_DeInit:00000000 $t
X:\TMP\USER_T~1\ccclbGWf.s:439    .text.USBD_HID_DeInit:00000000 USBD_HID_DeInit
X:\TMP\USER_T~1\ccclbGWf.s:477    .text.USBD_HID_Init:00000000 $t
X:\TMP\USER_T~1\ccclbGWf.s:483    .text.USBD_HID_Init:00000000 USBD_HID_Init
X:\TMP\USER_T~1\ccclbGWf.s:530    .text.USBD_HID_SendReport:00000000 $t
X:\TMP\USER_T~1\ccclbGWf.s:537    .text.USBD_HID_SendReport:00000000 USBD_HID_SendReport
X:\TMP\USER_T~1\ccclbGWf.s:585    .text.USBD_HID_GetPollingInterval:00000000 $t
X:\TMP\USER_T~1\ccclbGWf.s:592    .text.USBD_HID_GetPollingInterval:00000000 USBD_HID_GetPollingInterval
X:\TMP\USER_T~1\ccclbGWf.s:691    .data.USBD_HID:00000000 USBD_HID
X:\TMP\USER_T~1\ccclbGWf.s:619    .data.HID_KEYBOARD_ReportDesc:00000000 $d
X:\TMP\USER_T~1\ccclbGWf.s:623    .data.HID_KEYBOARD_ReportDesc:00000000 HID_KEYBOARD_ReportDesc
X:\TMP\USER_T~1\ccclbGWf.s:688    .data.USBD_HID:00000000 $d
X:\TMP\USER_T~1\ccclbGWf.s:707    .data.USBD_HID_CfgFSDesc:00000000 $d
X:\TMP\USER_T~1\ccclbGWf.s:711    .data.USBD_HID_CfgFSDesc:00000000 USBD_HID_CfgFSDesc
X:\TMP\USER_T~1\ccclbGWf.s:747    .data.USBD_HID_CfgHSDesc:00000000 $d
X:\TMP\USER_T~1\ccclbGWf.s:751    .data.USBD_HID_CfgHSDesc:00000000 USBD_HID_CfgHSDesc
X:\TMP\USER_T~1\ccclbGWf.s:787    .data.USBD_HID_Desc:00000000 $d
X:\TMP\USER_T~1\ccclbGWf.s:791    .data.USBD_HID_Desc:00000000 USBD_HID_Desc
X:\TMP\USER_T~1\ccclbGWf.s:802    .data.USBD_HID_DeviceQualifierDesc:00000000 $d
X:\TMP\USER_T~1\ccclbGWf.s:806    .data.USBD_HID_DeviceQualifierDesc:00000000 USBD_HID_DeviceQualifierDesc
X:\TMP\USER_T~1\ccclbGWf.s:818    .data.USBD_HID_OtherSpeedCfgDesc:00000000 $d
X:\TMP\USER_T~1\ccclbGWf.s:822    .data.USBD_HID_OtherSpeedCfgDesc:00000000 USBD_HID_OtherSpeedCfgDesc

UNDEFINED SYMBOLS
USBD_CtlSendData
USBD_CtlError
USBD_LL_CloseEP
USBD_static_free
USBD_LL_OpenEP
USBD_static_malloc
USBD_LL_Transmit
