summaryrefslogtreecommitdiff
path: root/cdc-dials/build/stm32f0xx_ll_usb.lst
diff options
context:
space:
mode:
Diffstat (limited to 'cdc-dials/build/stm32f0xx_ll_usb.lst')
-rw-r--r--cdc-dials/build/stm32f0xx_ll_usb.lst3886
1 files changed, 3886 insertions, 0 deletions
diff --git a/cdc-dials/build/stm32f0xx_ll_usb.lst b/cdc-dials/build/stm32f0xx_ll_usb.lst
new file mode 100644
index 0000000..c524839
--- /dev/null
+++ b/cdc-dials/build/stm32f0xx_ll_usb.lst
@@ -0,0 +1,3886 @@
+ARM GAS /tmp/cc29f2cM.s page 1
+
+
+ 1 .cpu cortex-m0
+ 2 .eabi_attribute 20, 1
+ 3 .eabi_attribute 21, 1
+ 4 .eabi_attribute 23, 3
+ 5 .eabi_attribute 24, 1
+ 6 .eabi_attribute 25, 1
+ 7 .eabi_attribute 26, 1
+ 8 .eabi_attribute 30, 1
+ 9 .eabi_attribute 34, 0
+ 10 .eabi_attribute 18, 4
+ 11 .file "stm32f0xx_ll_usb.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.USB_CoreInit,"ax",%progbits
+ 16 .align 1
+ 17 .global USB_CoreInit
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 USB_CoreInit:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @file stm32f0xx_ll_usb.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB Low Layer HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This file provides firmware functions to manage the following
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * functionalities of the USB Peripheral Controller:
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * + Initialization/de-initialization functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * + I/O operation functions
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * + Peripheral Control functions
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * + Peripheral State functions
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** @verbatim
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ==============================================================================
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ##### How to use this driver #####
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ==============================================================================
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** [..]
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** (#) Fill parameters of Init structure in USB_OTG_CfgTypeDef structure.
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** (#) Call USB_CoreInit() API to initialize the USB Core peripheral.
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** (#) The upper HAL HCD/PCD driver will call the right routines for its internal processes.
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** @endverbatim
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ******************************************************************************
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @attention
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * All rights reserved.</center></h2>
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * the "License"; You may not use this file except in compliance with the
+ ARM GAS /tmp/cc29f2cM.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * License. You may obtain a copy of the License at:
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * opensource.org/licenses/BSD-3-Clause
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ******************************************************************************
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Includes ------------------------------------------------------------------*/
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #include "stm32f0xx_hal.h"
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /** @addtogroup STM32F0xx_LL_USB_DRIVER
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @{
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #if defined (HAL_PCD_MODULE_ENABLED) || defined (HAL_HCD_MODULE_ENABLED)
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #if defined (USB)
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private typedef -----------------------------------------------------------*/
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private define ------------------------------------------------------------*/
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private macro -------------------------------------------------------------*/
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private variables ---------------------------------------------------------*/
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private function prototypes -----------------------------------------------*/
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private functions ---------------------------------------------------------*/
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Initializes the USB Core
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx: USB Instance
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param cfg : pointer to a USB_CfgTypeDef structure that contains
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * the configuration information for the specified USBx peripheral.
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_CoreInit(USB_TypeDef *USBx, USB_CfgTypeDef cfg)
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 26 .loc 1 65 0
+ 27 .cfi_startproc
+ 28 @ args = 36, pretend = 16, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 @ link register save eliminated.
+ 31 .LVL0:
+ 32 0000 84B0 sub sp, sp, #16
+ 33 .LCFI0:
+ 34 .cfi_def_cfa_offset 16
+ 35 0002 0191 str r1, [sp, #4]
+ 36 0004 0292 str r2, [sp, #8]
+ 37 0006 0393 str r3, [sp, #12]
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(cfg);
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 38 .loc 1 76 0
+ 39 0008 0020 movs r0, #0
+ ARM GAS /tmp/cc29f2cM.s page 3
+
+
+ 40 .LVL1:
+ 41 @ sp needed
+ 42 000a 04B0 add sp, sp, #16
+ 43 000c 7047 bx lr
+ 44 .cfi_endproc
+ 45 .LFE40:
+ 47 .section .text.USB_EnableGlobalInt,"ax",%progbits
+ 48 .align 1
+ 49 .global USB_EnableGlobalInt
+ 50 .syntax unified
+ 51 .code 16
+ 52 .thumb_func
+ 53 .fpu softvfp
+ 55 USB_EnableGlobalInt:
+ 56 .LFB41:
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_EnableGlobalInt
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * Enables the controller's Global Int in the AHB Config reg
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_EnableGlobalInt(USB_TypeDef *USBx)
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 57 .loc 1 85 0
+ 58 .cfi_startproc
+ 59 @ args = 0, pretend = 0, frame = 0
+ 60 @ frame_needed = 0, uses_anonymous_args = 0
+ 61 @ link register save eliminated.
+ 62 .LVL2:
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t winterruptmask;
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set winterruptmask variable */
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** winterruptmask = USB_CNTR_CTRM | USB_CNTR_WKUPM |
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_SUSPM | USB_CNTR_ERRM |
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_SOFM | USB_CNTR_ESOFM |
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_RESETM | USB_CNTR_L1REQM;
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set interrupt mask */
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR |= winterruptmask;
+ 63 .loc 1 95 0
+ 64 0000 4022 movs r2, #64
+ 65 0002 835A ldrh r3, [r0, r2]
+ 66 0004 0249 ldr r1, .L3
+ 67 0006 0B43 orrs r3, r1
+ 68 0008 9BB2 uxth r3, r3
+ 69 000a 8352 strh r3, [r0, r2]
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 70 .loc 1 98 0
+ 71 000c 0020 movs r0, #0
+ 72 .LVL3:
+ 73 @ sp needed
+ 74 000e 7047 bx lr
+ 75 .L4:
+ 76 .align 2
+ ARM GAS /tmp/cc29f2cM.s page 4
+
+
+ 77 .L3:
+ 78 0010 80BFFFFF .word -16512
+ 79 .cfi_endproc
+ 80 .LFE41:
+ 82 .section .text.USB_DisableGlobalInt,"ax",%progbits
+ 83 .align 1
+ 84 .global USB_DisableGlobalInt
+ 85 .syntax unified
+ 86 .code 16
+ 87 .thumb_func
+ 88 .fpu softvfp
+ 90 USB_DisableGlobalInt:
+ 91 .LFB42:
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_DisableGlobalInt
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * Disable the controller's Global Int in the AHB Config reg
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DisableGlobalInt(USB_TypeDef *USBx)
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 92 .loc 1 107 0
+ 93 .cfi_startproc
+ 94 @ args = 0, pretend = 0, frame = 0
+ 95 @ frame_needed = 0, uses_anonymous_args = 0
+ 96 @ link register save eliminated.
+ 97 .LVL4:
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t winterruptmask;
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set winterruptmask variable */
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** winterruptmask = USB_CNTR_CTRM | USB_CNTR_WKUPM |
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_SUSPM | USB_CNTR_ERRM |
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_SOFM | USB_CNTR_ESOFM |
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_RESETM | USB_CNTR_L1REQM;
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Clear interrupt mask */
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR &= ~winterruptmask;
+ 98 .loc 1 117 0
+ 99 0000 4022 movs r2, #64
+ 100 0002 835A ldrh r3, [r0, r2]
+ 101 0004 0249 ldr r1, .L6
+ 102 0006 0B40 ands r3, r1
+ 103 0008 8352 strh r3, [r0, r2]
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 104 .loc 1 120 0
+ 105 000a 0020 movs r0, #0
+ 106 .LVL5:
+ 107 @ sp needed
+ 108 000c 7047 bx lr
+ 109 .L7:
+ 110 000e C046 .align 2
+ 111 .L6:
+ 112 0010 7F400000 .word 16511
+ 113 .cfi_endproc
+ ARM GAS /tmp/cc29f2cM.s page 5
+
+
+ 114 .LFE42:
+ 116 .section .text.USB_SetCurrentMode,"ax",%progbits
+ 117 .align 1
+ 118 .global USB_SetCurrentMode
+ 119 .syntax unified
+ 120 .code 16
+ 121 .thumb_func
+ 122 .fpu softvfp
+ 124 USB_SetCurrentMode:
+ 125 .LFB43:
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_SetCurrentMode : Set functional mode
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param mode : current core mode
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This parameter can be one of the these values:
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @arg USB_DEVICE_MODE: Peripheral mode mode
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_SetCurrentMode(USB_TypeDef *USBx, USB_ModeTypeDef mode)
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 126 .loc 1 131 0
+ 127 .cfi_startproc
+ 128 @ args = 0, pretend = 0, frame = 0
+ 129 @ frame_needed = 0, uses_anonymous_args = 0
+ 130 @ link register save eliminated.
+ 131 .LVL6:
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(mode);
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 132 .loc 1 141 0
+ 133 0000 0020 movs r0, #0
+ 134 .LVL7:
+ 135 @ sp needed
+ 136 0002 7047 bx lr
+ 137 .cfi_endproc
+ 138 .LFE43:
+ 140 .section .text.USB_DevInit,"ax",%progbits
+ 141 .align 1
+ 142 .global USB_DevInit
+ 143 .syntax unified
+ 144 .code 16
+ 145 .thumb_func
+ 146 .fpu softvfp
+ 148 USB_DevInit:
+ 149 .LFB44:
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_DevInit : Initializes the USB controller registers
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * for device mode
+ ARM GAS /tmp/cc29f2cM.s page 6
+
+
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param cfg : pointer to a USB_CfgTypeDef structure that contains
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * the configuration information for the specified USBx peripheral.
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DevInit(USB_TypeDef *USBx, USB_CfgTypeDef cfg)
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 150 .loc 1 152 0
+ 151 .cfi_startproc
+ 152 @ args = 36, pretend = 16, frame = 0
+ 153 @ frame_needed = 0, uses_anonymous_args = 0
+ 154 .LVL8:
+ 155 0000 84B0 sub sp, sp, #16
+ 156 .LCFI1:
+ 157 .cfi_def_cfa_offset 16
+ 158 0002 10B5 push {r4, lr}
+ 159 .LCFI2:
+ 160 .cfi_def_cfa_offset 24
+ 161 .cfi_offset 4, -24
+ 162 .cfi_offset 14, -20
+ 163 0004 0391 str r1, [sp, #12]
+ 164 0006 0492 str r2, [sp, #16]
+ 165 0008 0593 str r3, [sp, #20]
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(cfg);
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Init Device */
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*CNTR_FRES = 1*/
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR = USB_CNTR_FRES;
+ 166 .loc 1 158 0
+ 167 000a 4022 movs r2, #64
+ 168 000c 0123 movs r3, #1
+ 169 000e 8352 strh r3, [r0, r2]
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*CNTR_FRES = 0*/
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR = 0;
+ 170 .loc 1 161 0
+ 171 0010 0023 movs r3, #0
+ 172 0012 8352 strh r3, [r0, r2]
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Clear pending interrupts*/
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->ISTR = 0;
+ 173 .loc 1 164 0
+ 174 0014 0432 adds r2, r2, #4
+ 175 0016 8352 strh r3, [r0, r2]
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set Btable Address*/
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->BTABLE = BTABLE_ADDRESS;
+ 176 .loc 1 167 0
+ 177 0018 0C32 adds r2, r2, #12
+ 178 001a 8352 strh r3, [r0, r2]
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Enable USB Device Interrupt mask */
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** (void)USB_EnableGlobalInt(USBx);
+ 179 .loc 1 170 0
+ 180 001c FFF7FEFF bl USB_EnableGlobalInt
+ 181 .LVL9:
+ ARM GAS /tmp/cc29f2cM.s page 7
+
+
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 182 .loc 1 173 0
+ 183 0020 0020 movs r0, #0
+ 184 @ sp needed
+ 185 0022 10BC pop {r4}
+ 186 0024 08BC pop {r3}
+ 187 0026 04B0 add sp, sp, #16
+ 188 0028 1847 bx r3
+ 189 .cfi_endproc
+ 190 .LFE44:
+ 192 .section .text.USB_SetDevSpeed,"ax",%progbits
+ 193 .align 1
+ 194 .global USB_SetDevSpeed
+ 195 .syntax unified
+ 196 .code 16
+ 197 .thumb_func
+ 198 .fpu softvfp
+ 200 USB_SetDevSpeed:
+ 201 .LFB45:
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_SetDevSpeed :Initializes the device speed
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * depending on the PHY type and the enumeration speed of the device.
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx Selected device
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param speed device speed
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval Hal status
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_SetDevSpeed(USB_TypeDef *USBx, uint8_t speed)
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 202 .loc 1 183 0
+ 203 .cfi_startproc
+ 204 @ args = 0, pretend = 0, frame = 0
+ 205 @ frame_needed = 0, uses_anonymous_args = 0
+ 206 @ link register save eliminated.
+ 207 .LVL10:
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(speed);
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 208 .loc 1 194 0
+ 209 0000 0020 movs r0, #0
+ 210 .LVL11:
+ 211 @ sp needed
+ 212 0002 7047 bx lr
+ 213 .cfi_endproc
+ 214 .LFE45:
+ 216 .section .text.USB_FlushTxFifo,"ax",%progbits
+ 217 .align 1
+ ARM GAS /tmp/cc29f2cM.s page 8
+
+
+ 218 .global USB_FlushTxFifo
+ 219 .syntax unified
+ 220 .code 16
+ 221 .thumb_func
+ 222 .fpu softvfp
+ 224 USB_FlushTxFifo:
+ 225 .LFB46:
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_FlushTxFifo : Flush a Tx FIFO
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param num : FIFO number
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This parameter can be a value from 1 to 15
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** 15 means Flush all Tx FIFOs
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushTxFifo(USB_TypeDef *USBx, uint32_t num)
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 226 .loc 1 205 0
+ 227 .cfi_startproc
+ 228 @ args = 0, pretend = 0, frame = 0
+ 229 @ frame_needed = 0, uses_anonymous_args = 0
+ 230 @ link register save eliminated.
+ 231 .LVL12:
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(num);
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 232 .loc 1 216 0
+ 233 0000 0020 movs r0, #0
+ 234 .LVL13:
+ 235 @ sp needed
+ 236 0002 7047 bx lr
+ 237 .cfi_endproc
+ 238 .LFE46:
+ 240 .section .text.USB_FlushRxFifo,"ax",%progbits
+ 241 .align 1
+ 242 .global USB_FlushRxFifo
+ 243 .syntax unified
+ 244 .code 16
+ 245 .thumb_func
+ 246 .fpu softvfp
+ 248 USB_FlushRxFifo:
+ 249 .LFB47:
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_FlushRxFifo : Flush Rx FIFO
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ ARM GAS /tmp/cc29f2cM.s page 9
+
+
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushRxFifo(USB_TypeDef *USBx)
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 250 .loc 1 224 0
+ 251 .cfi_startproc
+ 252 @ args = 0, pretend = 0, frame = 0
+ 253 @ frame_needed = 0, uses_anonymous_args = 0
+ 254 @ link register save eliminated.
+ 255 .LVL14:
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 256 .loc 1 234 0
+ 257 0000 0020 movs r0, #0
+ 258 .LVL15:
+ 259 @ sp needed
+ 260 0002 7047 bx lr
+ 261 .cfi_endproc
+ 262 .LFE47:
+ 264 .section .text.USB_ActivateEndpoint,"ax",%progbits
+ 265 .align 1
+ 266 .global USB_ActivateEndpoint
+ 267 .syntax unified
+ 268 .code 16
+ 269 .thumb_func
+ 270 .fpu softvfp
+ 272 USB_ActivateEndpoint:
+ 273 .LFB48:
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Activate and configure an endpoint
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ep: pointer to endpoint structure
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep)
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 274 .loc 1 243 0
+ 275 .cfi_startproc
+ 276 @ args = 0, pretend = 0, frame = 0
+ 277 @ frame_needed = 0, uses_anonymous_args = 0
+ 278 .LVL16:
+ 279 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 280 .LCFI3:
+ 281 .cfi_def_cfa_offset 20
+ 282 .cfi_offset 4, -20
+ 283 .cfi_offset 5, -16
+ 284 .cfi_offset 6, -12
+ 285 .cfi_offset 7, -8
+ 286 .cfi_offset 14, -4
+ 287 .LVL17:
+ ARM GAS /tmp/cc29f2cM.s page 10
+
+
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK;
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t wEpRegVal;
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** wEpRegVal = PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_T_MASK;
+ 288 .loc 1 247 0
+ 289 0002 0D78 ldrb r5, [r1]
+ 290 0004 AD00 lsls r5, r5, #2
+ 291 0006 4519 adds r5, r0, r5
+ 292 0008 2B88 ldrh r3, [r5]
+ 293 000a B14A ldr r2, .L39
+ 294 000c 1340 ands r3, r2
+ 295 .LVL18:
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* initialize Endpoint */
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** switch (ep->type)
+ 296 .loc 1 250 0
+ 297 000e CA78 ldrb r2, [r1, #3]
+ 298 0010 012A cmp r2, #1
+ 299 0012 54D0 beq .L15
+ 300 0014 002A cmp r2, #0
+ 301 0016 48D0 beq .L16
+ 302 0018 022A cmp r2, #2
+ 303 001a 03D0 beq .L17
+ 304 001c 032A cmp r2, #3
+ 305 001e 49D0 beq .L18
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** case EP_TYPE_CTRL:
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** wEpRegVal |= USB_EP_CONTROL;
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** case EP_TYPE_BULK:
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** wEpRegVal |= USB_EP_BULK;
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** case EP_TYPE_INTR:
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** wEpRegVal |= USB_EP_INTERRUPT;
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** case EP_TYPE_ISOC:
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** wEpRegVal |= USB_EP_ISOCHRONOUS;
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** default:
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ret = HAL_ERROR;
+ 306 .loc 1 269 0
+ 307 0020 0124 movs r4, #1
+ 308 0022 00E0 b .L14
+ 309 .L17:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t wEpRegVal;
+ 310 .loc 1 244 0
+ 311 0024 0024 movs r4, #0
+ 312 .L14:
+ 313 .LVL19:
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_ENDPOINT(USBx, ep->num, wEpRegVal | USB_EP_CTR_RX | USB_EP_CTR_TX);
+ ARM GAS /tmp/cc29f2cM.s page 11
+
+
+ 314 .loc 1 273 0
+ 315 0026 AB4A ldr r2, .L39+4
+ 316 0028 1343 orrs r3, r2
+ 317 .LVL20:
+ 318 002a 9BB2 uxth r3, r3
+ 319 002c 2B80 strh r3, [r5]
+ 320 .LBB2:
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_ADDRESS(USBx, ep->num, ep->num);
+ 321 .loc 1 275 0
+ 322 002e 0B78 ldrb r3, [r1]
+ 323 0030 9E00 lsls r6, r3, #2
+ 324 0032 8619 adds r6, r0, r6
+ 325 0034 3588 ldrh r5, [r6]
+ 326 0036 2DB2 sxth r5, r5
+ 327 0038 A74F ldr r7, .L39+8
+ 328 003a 3D40 ands r5, r7
+ 329 003c 2B43 orrs r3, r5
+ 330 003e 9BB2 uxth r3, r3
+ 331 .LVL21:
+ 332 0040 1A43 orrs r2, r3
+ 333 0042 92B2 uxth r2, r2
+ 334 0044 3280 strh r2, [r6]
+ 335 .LBE2:
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->doublebuffer == 0U)
+ 336 .loc 1 277 0
+ 337 0046 0B7B ldrb r3, [r1, #12]
+ 338 .LVL22:
+ 339 0048 002B cmp r3, #0
+ 340 004a 00D0 beq .LCB243
+ 341 004c 94E0 b .L19 @long jump
+ 342 .LCB243:
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in != 0U)
+ 343 .loc 1 279 0
+ 344 004e 4B78 ldrb r3, [r1, #1]
+ 345 0050 002B cmp r3, #0
+ 346 0052 44D0 beq .L20
+ 347 .LVL23:
+ 348 .LBB3:
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set the endpoint Transmit buffer address */
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_ADDRESS(USBx, ep->num, ep->pmaadress);
+ 349 .loc 1 282 0
+ 350 0054 5023 movs r3, #80
+ 351 0056 C25A ldrh r2, [r0, r3]
+ 352 0058 8218 adds r2, r0, r2
+ 353 .LVL24:
+ 354 005a 0B78 ldrb r3, [r1]
+ 355 005c DB00 lsls r3, r3, #3
+ 356 005e 9B18 adds r3, r3, r2
+ 357 0060 8022 movs r2, #128
+ 358 .LVL25:
+ 359 0062 D200 lsls r2, r2, #3
+ 360 0064 9446 mov ip, r2
+ 361 0066 6344 add r3, r3, ip
+ ARM GAS /tmp/cc29f2cM.s page 12
+
+
+ 362 .LVL26:
+ 363 0068 CA88 ldrh r2, [r1, #6]
+ 364 006a 5208 lsrs r2, r2, #1
+ 365 006c 5200 lsls r2, r2, #1
+ 366 006e 1A80 strh r2, [r3]
+ 367 .LBE3:
+ 368 .LBB4:
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 369 .loc 1 283 0
+ 370 0070 0B78 ldrb r3, [r1]
+ 371 .LVL27:
+ 372 0072 9B00 lsls r3, r3, #2
+ 373 0074 C318 adds r3, r0, r3
+ 374 0076 1A88 ldrh r2, [r3]
+ 375 .LVL28:
+ 376 0078 5206 lsls r2, r2, #25
+ 377 007a 06D5 bpl .L21
+ 378 .LVL29:
+ 379 .LBB5:
+ 380 .loc 1 283 0 is_stmt 0 discriminator 1
+ 381 007c 1A88 ldrh r2, [r3]
+ 382 007e 3D00 movs r5, r7
+ 383 0080 1540 ands r5, r2
+ 384 .LVL30:
+ 385 0082 964A ldr r2, .L39+12
+ 386 0084 2A43 orrs r2, r5
+ 387 0086 92B2 uxth r2, r2
+ 388 0088 1A80 strh r2, [r3]
+ 389 .LVL31:
+ 390 .L21:
+ 391 .LBE5:
+ 392 .LBE4:
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->type != EP_TYPE_ISOC)
+ 393 .loc 1 285 0 is_stmt 1
+ 394 008a CB78 ldrb r3, [r1, #3]
+ 395 008c 012B cmp r3, #1
+ 396 008e 1BD0 beq .L22
+ 397 .LBB6:
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure NAK status for the Endpoint */
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK);
+ 398 .loc 1 288 0
+ 399 0090 0B78 ldrb r3, [r1]
+ 400 0092 9B00 lsls r3, r3, #2
+ 401 0094 C018 adds r0, r0, r3
+ 402 .LVL32:
+ 403 0096 0388 ldrh r3, [r0]
+ 404 0098 914A ldr r2, .L39+16
+ 405 009a 1340 ands r3, r2
+ 406 .LVL33:
+ 407 009c 2022 movs r2, #32
+ 408 009e 5A40 eors r2, r3
+ 409 .LVL34:
+ 410 00a0 8C4B ldr r3, .L39+4
+ 411 00a2 1343 orrs r3, r2
+ 412 00a4 9BB2 uxth r3, r3
+ ARM GAS /tmp/cc29f2cM.s page 13
+
+
+ 413 00a6 0380 strh r3, [r0]
+ 414 .LBE6:
+ 415 00a8 51E0 b .L23
+ 416 .LVL35:
+ 417 .L16:
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 418 .loc 1 253 0
+ 419 00aa 8022 movs r2, #128
+ 420 00ac 9200 lsls r2, r2, #2
+ 421 00ae 1343 orrs r3, r2
+ 422 .LVL36:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t wEpRegVal;
+ 423 .loc 1 244 0
+ 424 00b0 0024 movs r4, #0
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 425 .loc 1 254 0
+ 426 00b2 B8E7 b .L14
+ 427 .L18:
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 428 .loc 1 261 0
+ 429 00b4 C022 movs r2, #192
+ 430 00b6 D200 lsls r2, r2, #3
+ 431 00b8 1343 orrs r3, r2
+ 432 .LVL37:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t wEpRegVal;
+ 433 .loc 1 244 0
+ 434 00ba 0024 movs r4, #0
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 435 .loc 1 262 0
+ 436 00bc B3E7 b .L14
+ 437 .L15:
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 438 .loc 1 265 0
+ 439 00be 8022 movs r2, #128
+ 440 00c0 D200 lsls r2, r2, #3
+ 441 00c2 1343 orrs r3, r2
+ 442 .LVL38:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t wEpRegVal;
+ 443 .loc 1 244 0
+ 444 00c4 0024 movs r4, #0
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 445 .loc 1 266 0
+ 446 00c6 AEE7 b .L14
+ 447 .LVL39:
+ 448 .L22:
+ 449 .LBB7:
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure TX Endpoint to disabled state */
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 450 .loc 1 293 0
+ 451 00c8 0B78 ldrb r3, [r1]
+ 452 00ca 9B00 lsls r3, r3, #2
+ 453 00cc C018 adds r0, r0, r3
+ 454 .LVL40:
+ 455 00ce 0388 ldrh r3, [r0]
+ ARM GAS /tmp/cc29f2cM.s page 14
+
+
+ 456 00d0 834A ldr r2, .L39+16
+ 457 00d2 1A40 ands r2, r3
+ 458 .LVL41:
+ 459 00d4 7F4B ldr r3, .L39+4
+ 460 00d6 1343 orrs r3, r2
+ 461 00d8 9BB2 uxth r3, r3
+ 462 00da 0380 strh r3, [r0]
+ 463 00dc 37E0 b .L23
+ 464 .LVL42:
+ 465 .L20:
+ 466 .LBE7:
+ 467 .LBB8:
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set the endpoint Receive buffer address */
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_ADDRESS(USBx, ep->num, ep->pmaadress);
+ 468 .loc 1 299 0
+ 469 00de 5025 movs r5, #80
+ 470 00e0 425B ldrh r2, [r0, r5]
+ 471 00e2 8218 adds r2, r0, r2
+ 472 .LVL43:
+ 473 00e4 0B78 ldrb r3, [r1]
+ 474 00e6 DB00 lsls r3, r3, #3
+ 475 00e8 9B18 adds r3, r3, r2
+ 476 00ea 7E4A ldr r2, .L39+20
+ 477 .LVL44:
+ 478 00ec 9446 mov ip, r2
+ 479 00ee 6344 add r3, r3, ip
+ 480 .LVL45:
+ 481 00f0 CA88 ldrh r2, [r1, #6]
+ 482 00f2 5208 lsrs r2, r2, #1
+ 483 00f4 5200 lsls r2, r2, #1
+ 484 00f6 1A80 strh r2, [r3]
+ 485 .LVL46:
+ 486 .LBE8:
+ 487 .LBB9:
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set the endpoint Receive buffer counter*/
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_CNT(USBx, ep->num, ep->maxpacket);
+ 488 .loc 1 301 0
+ 489 00f8 425B ldrh r2, [r0, r5]
+ 490 00fa 8218 adds r2, r0, r2
+ 491 .LVL47:
+ 492 00fc 0B78 ldrb r3, [r1]
+ 493 .LVL48:
+ 494 00fe DB00 lsls r3, r3, #3
+ 495 0100 9B18 adds r3, r3, r2
+ 496 0102 794A ldr r2, .L39+24
+ 497 .LVL49:
+ 498 0104 9446 mov ip, r2
+ 499 0106 6344 add r3, r3, ip
+ 500 .LVL50:
+ 501 .LBB10:
+ 502 0108 0A69 ldr r2, [r1, #16]
+ 503 010a 002A cmp r2, #0
+ 504 010c 21D1 bne .L24
+ ARM GAS /tmp/cc29f2cM.s page 15
+
+
+ 505 .loc 1 301 0 is_stmt 0 discriminator 1
+ 506 010e 1A88 ldrh r2, [r3]
+ 507 0110 764D ldr r5, .L39+28
+ 508 0112 1540 ands r5, r2
+ 509 0114 764A ldr r2, .L39+32
+ 510 0116 2A43 orrs r2, r5
+ 511 0118 1A80 strh r2, [r3]
+ 512 .L25:
+ 513 .LBE10:
+ 514 .LBE9:
+ 515 .LBB12:
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 516 .loc 1 302 0 is_stmt 1
+ 517 011a 0B78 ldrb r3, [r1]
+ 518 .LVL51:
+ 519 011c 9B00 lsls r3, r3, #2
+ 520 011e C318 adds r3, r0, r3
+ 521 0120 1A88 ldrh r2, [r3]
+ 522 .LVL52:
+ 523 0122 5204 lsls r2, r2, #17
+ 524 0124 06D5 bpl .L29
+ 525 .LVL53:
+ 526 .LBB13:
+ 527 .loc 1 302 0 is_stmt 0 discriminator 1
+ 528 0126 1A88 ldrh r2, [r3]
+ 529 0128 6B4D ldr r5, .L39+8
+ 530 012a 1540 ands r5, r2
+ 531 .LVL54:
+ 532 012c 714A ldr r2, .L39+36
+ 533 012e 2A43 orrs r2, r5
+ 534 0130 92B2 uxth r2, r2
+ 535 0132 1A80 strh r2, [r3]
+ 536 .LVL55:
+ 537 .L29:
+ 538 .LBE13:
+ 539 .LBE12:
+ 540 .LBB14:
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure VALID status for the Endpoint*/
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
+ 541 .loc 1 304 0 is_stmt 1
+ 542 0134 0B78 ldrb r3, [r1]
+ 543 0136 9B00 lsls r3, r3, #2
+ 544 0138 C018 adds r0, r0, r3
+ 545 .LVL56:
+ 546 013a 0288 ldrh r2, [r0]
+ 547 013c 6E4B ldr r3, .L39+40
+ 548 013e 1A40 ands r2, r3
+ 549 .LVL57:
+ 550 0140 C023 movs r3, #192
+ 551 0142 9B01 lsls r3, r3, #6
+ 552 0144 5A40 eors r2, r3
+ 553 .LVL58:
+ 554 0146 634B ldr r3, .L39+4
+ 555 0148 1343 orrs r3, r2
+ 556 014a 9BB2 uxth r3, r3
+ 557 014c 0380 strh r3, [r0]
+ 558 .LVL59:
+ ARM GAS /tmp/cc29f2cM.s page 16
+
+
+ 559 .L23:
+ 560 .LBE14:
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Double Buffer*/
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set the endpoint as double buffered */
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_DBUF(USBx, ep->num);
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set buffer address for double buffered mode */
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_DBUF_ADDR(USBx, ep->num, ep->pmaaddr0, ep->pmaaddr1);
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in == 0U)
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Clear the data toggle bits for the endpoint IN/OUT */
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Reset value of the data toggle bits for the endpoint out */
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_TX_DTOG(USBx, ep->num);
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Clear the data toggle bits for the endpoint IN/OUT */
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->type != EP_TYPE_ISOC)
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure NAK status for the Endpoint */
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK);
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure TX Endpoint to disabled state */
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return ret;
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 561 .loc 1 350 0
+ 562 014e 2000 movs r0, r4
+ 563 @ sp needed
+ 564 .LVL60:
+ 565 0150 F0BD pop {r4, r5, r6, r7, pc}
+ 566 .LVL61:
+ 567 .L24:
+ 568 .LBB15:
+ 569 .LBB11:
+ ARM GAS /tmp/cc29f2cM.s page 17
+
+
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 570 .loc 1 301 0 discriminator 2
+ 571 0152 3E2A cmp r2, #62
+ 572 0154 06D8 bhi .L26
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 573 .loc 1 301 0 is_stmt 0 discriminator 3
+ 574 0156 5508 lsrs r5, r2, #1
+ 575 .LVL62:
+ 576 0158 D207 lsls r2, r2, #31
+ 577 015a 00D5 bpl .L27
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 578 .loc 1 301 0 discriminator 5
+ 579 015c 0135 adds r5, r5, #1
+ 580 .LVL63:
+ 581 .L27:
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 582 .loc 1 301 0 discriminator 7
+ 583 015e AD02 lsls r5, r5, #10
+ 584 .LVL64:
+ 585 0160 1D80 strh r5, [r3]
+ 586 0162 DAE7 b .L25
+ 587 .L26:
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 588 .loc 1 301 0 discriminator 4
+ 589 0164 5509 lsrs r5, r2, #5
+ 590 .LVL65:
+ 591 0166 D206 lsls r2, r2, #27
+ 592 0168 00D1 bne .L28
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 593 .loc 1 301 0 discriminator 8
+ 594 016a 013D subs r5, r5, #1
+ 595 .LVL66:
+ 596 .L28:
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 597 .loc 1 301 0 discriminator 10
+ 598 016c AD02 lsls r5, r5, #10
+ 599 .LVL67:
+ 600 016e ADB2 uxth r5, r5
+ 601 0170 5F4A ldr r2, .L39+32
+ 602 0172 1543 orrs r5, r2
+ 603 0174 1D80 strh r5, [r3]
+ 604 0176 D0E7 b .L25
+ 605 .LVL68:
+ 606 .L19:
+ 607 .LBE11:
+ 608 .LBE15:
+ 609 .LBB16:
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set buffer address for double buffered mode */
+ 610 .loc 1 311 0 is_stmt 1
+ 611 0178 0B78 ldrb r3, [r1]
+ 612 017a 9B00 lsls r3, r3, #2
+ 613 017c C318 adds r3, r0, r3
+ 614 017e 1A88 ldrh r2, [r3]
+ 615 0180 554D ldr r5, .L39+8
+ 616 0182 1540 ands r5, r2
+ 617 .LVL69:
+ 618 0184 5D4A ldr r2, .L39+44
+ ARM GAS /tmp/cc29f2cM.s page 18
+
+
+ 619 0186 2A43 orrs r2, r5
+ 620 0188 92B2 uxth r2, r2
+ 621 018a 1A80 strh r2, [r3]
+ 622 .LVL70:
+ 623 .LBE16:
+ 624 .LBB17:
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 625 .loc 1 313 0
+ 626 018c 5025 movs r5, #80
+ 627 .LVL71:
+ 628 018e 425B ldrh r2, [r0, r5]
+ 629 0190 8218 adds r2, r0, r2
+ 630 .LVL72:
+ 631 0192 0B78 ldrb r3, [r1]
+ 632 0194 DB00 lsls r3, r3, #3
+ 633 0196 9B18 adds r3, r3, r2
+ 634 0198 8022 movs r2, #128
+ 635 .LVL73:
+ 636 019a D200 lsls r2, r2, #3
+ 637 019c 9446 mov ip, r2
+ 638 019e 6344 add r3, r3, ip
+ 639 .LVL74:
+ 640 01a0 0A89 ldrh r2, [r1, #8]
+ 641 01a2 5208 lsrs r2, r2, #1
+ 642 01a4 5200 lsls r2, r2, #1
+ 643 01a6 1A80 strh r2, [r3]
+ 644 .LVL75:
+ 645 .LBE17:
+ 646 .LBB18:
+ 647 01a8 425B ldrh r2, [r0, r5]
+ 648 01aa 8218 adds r2, r0, r2
+ 649 .LVL76:
+ 650 01ac 0B78 ldrb r3, [r1]
+ 651 .LVL77:
+ 652 01ae DB00 lsls r3, r3, #3
+ 653 01b0 9B18 adds r3, r3, r2
+ 654 01b2 4C4A ldr r2, .L39+20
+ 655 .LVL78:
+ 656 01b4 9446 mov ip, r2
+ 657 01b6 6344 add r3, r3, ip
+ 658 .LVL79:
+ 659 01b8 4A89 ldrh r2, [r1, #10]
+ 660 01ba 5208 lsrs r2, r2, #1
+ 661 01bc 5200 lsls r2, r2, #1
+ 662 01be 1A80 strh r2, [r3]
+ 663 .LBE18:
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 664 .loc 1 315 0
+ 665 01c0 4B78 ldrb r3, [r1, #1]
+ 666 .LVL80:
+ 667 01c2 002B cmp r3, #0
+ 668 01c4 3AD1 bne .L30
+ 669 .LBB19:
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 670 .loc 1 318 0
+ 671 01c6 0B78 ldrb r3, [r1]
+ 672 01c8 9B00 lsls r3, r3, #2
+ ARM GAS /tmp/cc29f2cM.s page 19
+
+
+ 673 01ca C318 adds r3, r0, r3
+ 674 01cc 1A88 ldrh r2, [r3]
+ 675 .LVL81:
+ 676 01ce 5204 lsls r2, r2, #17
+ 677 01d0 06D5 bpl .L31
+ 678 .LVL82:
+ 679 .LBB20:
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 680 .loc 1 318 0 is_stmt 0 discriminator 1
+ 681 01d2 1A88 ldrh r2, [r3]
+ 682 01d4 404D ldr r5, .L39+8
+ 683 01d6 1540 ands r5, r2
+ 684 .LVL83:
+ 685 01d8 464A ldr r2, .L39+36
+ 686 01da 2A43 orrs r2, r5
+ 687 01dc 92B2 uxth r2, r2
+ 688 01de 1A80 strh r2, [r3]
+ 689 .LVL84:
+ 690 .L31:
+ 691 .LBE20:
+ 692 .LBE19:
+ 693 .LBB21:
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 694 .loc 1 319 0 is_stmt 1
+ 695 01e0 0B78 ldrb r3, [r1]
+ 696 01e2 9B00 lsls r3, r3, #2
+ 697 01e4 C318 adds r3, r0, r3
+ 698 01e6 1A88 ldrh r2, [r3]
+ 699 .LVL85:
+ 700 01e8 5206 lsls r2, r2, #25
+ 701 01ea 06D5 bpl .L32
+ 702 .LVL86:
+ 703 .LBB22:
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 704 .loc 1 319 0 is_stmt 0 discriminator 1
+ 705 01ec 1A88 ldrh r2, [r3]
+ 706 01ee 3A4D ldr r5, .L39+8
+ 707 01f0 1540 ands r5, r2
+ 708 .LVL87:
+ 709 01f2 3A4A ldr r2, .L39+12
+ 710 01f4 2A43 orrs r2, r5
+ 711 01f6 92B2 uxth r2, r2
+ 712 01f8 1A80 strh r2, [r3]
+ 713 .LVL88:
+ 714 .L32:
+ 715 .LBE22:
+ 716 .LBE21:
+ 717 .LBB23:
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 718 .loc 1 322 0 is_stmt 1
+ 719 01fa 0B78 ldrb r3, [r1]
+ 720 01fc 9B00 lsls r3, r3, #2
+ 721 01fe C318 adds r3, r0, r3
+ 722 0200 1A88 ldrh r2, [r3]
+ 723 0202 354D ldr r5, .L39+8
+ 724 0204 1540 ands r5, r2
+ 725 .LVL89:
+ ARM GAS /tmp/cc29f2cM.s page 20
+
+
+ 726 0206 354A ldr r2, .L39+12
+ 727 0208 2A43 orrs r2, r5
+ 728 020a 92B2 uxth r2, r2
+ 729 020c 1A80 strh r2, [r3]
+ 730 .LBE23:
+ 731 .LBB24:
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 732 .loc 1 324 0
+ 733 020e 0A78 ldrb r2, [r1]
+ 734 0210 9200 lsls r2, r2, #2
+ 735 0212 8218 adds r2, r0, r2
+ 736 0214 1388 ldrh r3, [r2]
+ 737 0216 384D ldr r5, .L39+40
+ 738 .LVL90:
+ 739 0218 1D40 ands r5, r3
+ 740 .LVL91:
+ 741 021a C023 movs r3, #192
+ 742 021c 9B01 lsls r3, r3, #6
+ 743 021e 6B40 eors r3, r5
+ 744 .LVL92:
+ 745 0220 2C4D ldr r5, .L39+4
+ 746 0222 2B43 orrs r3, r5
+ 747 .LVL93:
+ 748 0224 9BB2 uxth r3, r3
+ 749 0226 1380 strh r3, [r2]
+ 750 .LBE24:
+ 751 .LBB25:
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 752 .loc 1 325 0
+ 753 0228 0B78 ldrb r3, [r1]
+ 754 022a 9B00 lsls r3, r3, #2
+ 755 022c C018 adds r0, r0, r3
+ 756 .LVL94:
+ 757 022e 0388 ldrh r3, [r0]
+ 758 0230 2B4A ldr r2, .L39+16
+ 759 0232 1340 ands r3, r2
+ 760 .LVL95:
+ 761 0234 2B43 orrs r3, r5
+ 762 .LVL96:
+ 763 0236 9BB2 uxth r3, r3
+ 764 0238 0380 strh r3, [r0]
+ 765 .LBE25:
+ 766 023a 88E7 b .L23
+ 767 .LVL97:
+ 768 .L30:
+ 769 .LBB26:
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 770 .loc 1 330 0
+ 771 023c 0B78 ldrb r3, [r1]
+ 772 023e 9B00 lsls r3, r3, #2
+ 773 0240 C318 adds r3, r0, r3
+ 774 0242 1A88 ldrh r2, [r3]
+ 775 .LVL98:
+ 776 0244 5204 lsls r2, r2, #17
+ 777 0246 06D5 bpl .L33
+ 778 .LVL99:
+ 779 .LBB27:
+ ARM GAS /tmp/cc29f2cM.s page 21
+
+
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 780 .loc 1 330 0 is_stmt 0 discriminator 1
+ 781 0248 1A88 ldrh r2, [r3]
+ 782 024a 234D ldr r5, .L39+8
+ 783 024c 1540 ands r5, r2
+ 784 .LVL100:
+ 785 024e 294A ldr r2, .L39+36
+ 786 0250 2A43 orrs r2, r5
+ 787 0252 92B2 uxth r2, r2
+ 788 0254 1A80 strh r2, [r3]
+ 789 .LVL101:
+ 790 .L33:
+ 791 .LBE27:
+ 792 .LBE26:
+ 793 .LBB28:
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 794 .loc 1 331 0 is_stmt 1
+ 795 0256 0B78 ldrb r3, [r1]
+ 796 0258 9B00 lsls r3, r3, #2
+ 797 025a C318 adds r3, r0, r3
+ 798 025c 1A88 ldrh r2, [r3]
+ 799 .LVL102:
+ 800 025e 5206 lsls r2, r2, #25
+ 801 0260 06D5 bpl .L34
+ 802 .LVL103:
+ 803 .LBB29:
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 804 .loc 1 331 0 is_stmt 0 discriminator 1
+ 805 0262 1A88 ldrh r2, [r3]
+ 806 0264 1C4D ldr r5, .L39+8
+ 807 0266 1540 ands r5, r2
+ 808 .LVL104:
+ 809 0268 1C4A ldr r2, .L39+12
+ 810 026a 2A43 orrs r2, r5
+ 811 026c 92B2 uxth r2, r2
+ 812 026e 1A80 strh r2, [r3]
+ 813 .LVL105:
+ 814 .L34:
+ 815 .LBE29:
+ 816 .LBE28:
+ 817 .LBB30:
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 818 .loc 1 332 0 is_stmt 1
+ 819 0270 0B78 ldrb r3, [r1]
+ 820 0272 9B00 lsls r3, r3, #2
+ 821 0274 C318 adds r3, r0, r3
+ 822 0276 1A88 ldrh r2, [r3]
+ 823 0278 174D ldr r5, .L39+8
+ 824 027a 1540 ands r5, r2
+ 825 .LVL106:
+ 826 027c 1D4A ldr r2, .L39+36
+ 827 027e 2A43 orrs r2, r5
+ 828 0280 92B2 uxth r2, r2
+ 829 0282 1A80 strh r2, [r3]
+ 830 .LBE30:
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 831 .loc 1 334 0
+ ARM GAS /tmp/cc29f2cM.s page 22
+
+
+ 832 0284 CB78 ldrb r3, [r1, #3]
+ 833 0286 012B cmp r3, #1
+ 834 0288 16D0 beq .L35
+ 835 .LBB31:
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 836 .loc 1 337 0
+ 837 028a 0B78 ldrb r3, [r1]
+ 838 028c 9B00 lsls r3, r3, #2
+ 839 028e C318 adds r3, r0, r3
+ 840 0290 1A88 ldrh r2, [r3]
+ 841 0292 134D ldr r5, .L39+16
+ 842 .LVL107:
+ 843 0294 2A40 ands r2, r5
+ 844 .LVL108:
+ 845 0296 2025 movs r5, #32
+ 846 0298 5540 eors r5, r2
+ 847 .LVL109:
+ 848 029a 0E4A ldr r2, .L39+4
+ 849 029c 2A43 orrs r2, r5
+ 850 029e 92B2 uxth r2, r2
+ 851 02a0 1A80 strh r2, [r3]
+ 852 .LVL110:
+ 853 .L36:
+ 854 .LBE31:
+ 855 .LBB32:
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 856 .loc 1 345 0
+ 857 02a2 0B78 ldrb r3, [r1]
+ 858 02a4 9B00 lsls r3, r3, #2
+ 859 02a6 C318 adds r3, r0, r3
+ 860 02a8 1A88 ldrh r2, [r3]
+ 861 02aa 1349 ldr r1, .L39+40
+ 862 .LVL111:
+ 863 02ac 1140 ands r1, r2
+ 864 .LVL112:
+ 865 02ae 094A ldr r2, .L39+4
+ 866 02b0 0A43 orrs r2, r1
+ 867 02b2 92B2 uxth r2, r2
+ 868 02b4 1A80 strh r2, [r3]
+ 869 02b6 4AE7 b .L23
+ 870 .LVL113:
+ 871 .L35:
+ 872 .LBE32:
+ 873 .LBB33:
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 874 .loc 1 342 0
+ 875 02b8 0B78 ldrb r3, [r1]
+ 876 02ba 9B00 lsls r3, r3, #2
+ 877 02bc C318 adds r3, r0, r3
+ 878 02be 1A88 ldrh r2, [r3]
+ 879 02c0 074D ldr r5, .L39+16
+ 880 .LVL114:
+ 881 02c2 1540 ands r5, r2
+ 882 .LVL115:
+ 883 02c4 034A ldr r2, .L39+4
+ 884 02c6 2A43 orrs r2, r5
+ 885 02c8 92B2 uxth r2, r2
+ ARM GAS /tmp/cc29f2cM.s page 23
+
+
+ 886 02ca 1A80 strh r2, [r3]
+ 887 02cc E9E7 b .L36
+ 888 .L40:
+ 889 02ce C046 .align 2
+ 890 .L39:
+ 891 02d0 8F89FFFF .word -30321
+ 892 02d4 8080FFFF .word -32640
+ 893 02d8 8F8FFFFF .word -28785
+ 894 02dc C080FFFF .word -32576
+ 895 02e0 BF8FFFFF .word -28737
+ 896 02e4 04040000 .word 1028
+ 897 02e8 06040000 .word 1030
+ 898 02ec FF83FFFF .word -31745
+ 899 02f0 0080FFFF .word -32768
+ 900 02f4 80C0FFFF .word -16256
+ 901 02f8 8FBFFFFF .word -16497
+ 902 02fc 8081FFFF .word -32384
+ 903 .LBE33:
+ 904 .cfi_endproc
+ 905 .LFE48:
+ 907 .section .text.USB_DeactivateEndpoint,"ax",%progbits
+ 908 .align 1
+ 909 .global USB_DeactivateEndpoint
+ 910 .syntax unified
+ 911 .code 16
+ 912 .thumb_func
+ 913 .fpu softvfp
+ 915 USB_DeactivateEndpoint:
+ 916 .LFB49:
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief De-activate and de-initialize an endpoint
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ep: pointer to endpoint structure
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DeactivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep)
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 917 .loc 1 359 0
+ 918 .cfi_startproc
+ 919 @ args = 0, pretend = 0, frame = 0
+ 920 @ frame_needed = 0, uses_anonymous_args = 0
+ 921 .LVL116:
+ 922 0000 10B5 push {r4, lr}
+ 923 .LCFI4:
+ 924 .cfi_def_cfa_offset 8
+ 925 .cfi_offset 4, -8
+ 926 .cfi_offset 14, -4
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->doublebuffer == 0U)
+ 927 .loc 1 360 0
+ 928 0002 0B7B ldrb r3, [r1, #12]
+ 929 0004 002B cmp r3, #0
+ 930 0006 33D1 bne .L42
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in != 0U)
+ 931 .loc 1 362 0
+ 932 0008 4B78 ldrb r3, [r1, #1]
+ ARM GAS /tmp/cc29f2cM.s page 24
+
+
+ 933 000a 002B cmp r3, #0
+ 934 000c 18D0 beq .L43
+ 935 .LBB34:
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 936 .loc 1 364 0
+ 937 000e 0B78 ldrb r3, [r1]
+ 938 0010 9B00 lsls r3, r3, #2
+ 939 0012 C318 adds r3, r0, r3
+ 940 0014 1A88 ldrh r2, [r3]
+ 941 .LVL117:
+ 942 0016 5206 lsls r2, r2, #25
+ 943 0018 06D5 bpl .L44
+ 944 .LVL118:
+ 945 .LBB35:
+ 946 .loc 1 364 0 is_stmt 0 discriminator 1
+ 947 001a 1A88 ldrh r2, [r3]
+ 948 001c 4E4C ldr r4, .L52
+ 949 001e 1440 ands r4, r2
+ 950 .LVL119:
+ 951 0020 4E4A ldr r2, .L52+4
+ 952 0022 2243 orrs r2, r4
+ 953 0024 92B2 uxth r2, r2
+ 954 0026 1A80 strh r2, [r3]
+ 955 .LVL120:
+ 956 .L44:
+ 957 .LBE35:
+ 958 .LBE34:
+ 959 .LBB36:
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 960 .loc 1 366 0 is_stmt 1
+ 961 0028 0B78 ldrb r3, [r1]
+ 962 002a 9B00 lsls r3, r3, #2
+ 963 002c C018 adds r0, r0, r3
+ 964 .LVL121:
+ 965 002e 0388 ldrh r3, [r0]
+ 966 0030 4B4A ldr r2, .L52+8
+ 967 0032 1A40 ands r2, r3
+ 968 .LVL122:
+ 969 0034 4B4B ldr r3, .L52+12
+ 970 0036 1343 orrs r3, r2
+ 971 0038 9BB2 uxth r3, r3
+ 972 003a 0380 strh r3, [r0]
+ 973 .LVL123:
+ 974 .L45:
+ 975 .LBE36:
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Double Buffer*/
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ ARM GAS /tmp/cc29f2cM.s page 25
+
+
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in == 0U)
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Clear the data toggle bits for the endpoint IN/OUT*/
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Reset value of the data toggle bits for the endpoint out*/
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_TX_DTOG(USBx, ep->num);
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Clear the data toggle bits for the endpoint IN/OUT*/
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 976 .loc 1 403 0
+ 977 003c 0020 movs r0, #0
+ 978 @ sp needed
+ 979 003e 10BD pop {r4, pc}
+ 980 .LVL124:
+ 981 .L43:
+ 982 .LBB37:
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 983 .loc 1 370 0
+ 984 0040 0B78 ldrb r3, [r1]
+ 985 0042 9B00 lsls r3, r3, #2
+ 986 0044 C318 adds r3, r0, r3
+ 987 0046 1A88 ldrh r2, [r3]
+ 988 .LVL125:
+ 989 0048 5204 lsls r2, r2, #17
+ 990 004a 06D5 bpl .L46
+ 991 .LVL126:
+ 992 .LBB38:
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 993 .loc 1 370 0 is_stmt 0 discriminator 1
+ 994 004c 1A88 ldrh r2, [r3]
+ 995 004e 424C ldr r4, .L52
+ 996 0050 1440 ands r4, r2
+ 997 .LVL127:
+ 998 0052 454A ldr r2, .L52+16
+ 999 0054 2243 orrs r2, r4
+ 1000 0056 92B2 uxth r2, r2
+ 1001 0058 1A80 strh r2, [r3]
+ 1002 .LVL128:
+ 1003 .L46:
+ ARM GAS /tmp/cc29f2cM.s page 26
+
+
+ 1004 .LBE38:
+ 1005 .LBE37:
+ 1006 .LBB39:
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1007 .loc 1 372 0 is_stmt 1
+ 1008 005a 0B78 ldrb r3, [r1]
+ 1009 005c 9B00 lsls r3, r3, #2
+ 1010 005e C018 adds r0, r0, r3
+ 1011 .LVL129:
+ 1012 0060 0388 ldrh r3, [r0]
+ 1013 0062 424A ldr r2, .L52+20
+ 1014 0064 1A40 ands r2, r3
+ 1015 .LVL130:
+ 1016 0066 3F4B ldr r3, .L52+12
+ 1017 0068 1343 orrs r3, r2
+ 1018 006a 9BB2 uxth r3, r3
+ 1019 006c 0380 strh r3, [r0]
+ 1020 006e E5E7 b .L45
+ 1021 .LVL131:
+ 1022 .L42:
+ 1023 .LBE39:
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1024 .loc 1 378 0
+ 1025 0070 4B78 ldrb r3, [r1, #1]
+ 1026 0072 002B cmp r3, #0
+ 1027 0074 37D1 bne .L47
+ 1028 .LBB40:
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 1029 .loc 1 381 0
+ 1030 0076 0B78 ldrb r3, [r1]
+ 1031 0078 9B00 lsls r3, r3, #2
+ 1032 007a C318 adds r3, r0, r3
+ 1033 007c 1A88 ldrh r2, [r3]
+ 1034 .LVL132:
+ 1035 007e 5204 lsls r2, r2, #17
+ 1036 0080 06D5 bpl .L48
+ 1037 .LVL133:
+ 1038 .LBB41:
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 1039 .loc 1 381 0 is_stmt 0 discriminator 1
+ 1040 0082 1A88 ldrh r2, [r3]
+ 1041 0084 344C ldr r4, .L52
+ 1042 0086 1440 ands r4, r2
+ 1043 .LVL134:
+ 1044 0088 374A ldr r2, .L52+16
+ 1045 008a 2243 orrs r2, r4
+ 1046 008c 92B2 uxth r2, r2
+ 1047 008e 1A80 strh r2, [r3]
+ 1048 .LVL135:
+ 1049 .L48:
+ 1050 .LBE41:
+ 1051 .LBE40:
+ 1052 .LBB42:
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 1053 .loc 1 382 0 is_stmt 1
+ 1054 0090 0B78 ldrb r3, [r1]
+ 1055 0092 9B00 lsls r3, r3, #2
+ ARM GAS /tmp/cc29f2cM.s page 27
+
+
+ 1056 0094 C318 adds r3, r0, r3
+ 1057 0096 1A88 ldrh r2, [r3]
+ 1058 .LVL136:
+ 1059 0098 5206 lsls r2, r2, #25
+ 1060 009a 06D5 bpl .L49
+ 1061 .LVL137:
+ 1062 .LBB43:
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 1063 .loc 1 382 0 is_stmt 0 discriminator 1
+ 1064 009c 1A88 ldrh r2, [r3]
+ 1065 009e 2E4C ldr r4, .L52
+ 1066 00a0 1440 ands r4, r2
+ 1067 .LVL138:
+ 1068 00a2 2E4A ldr r2, .L52+4
+ 1069 00a4 2243 orrs r2, r4
+ 1070 00a6 92B2 uxth r2, r2
+ 1071 00a8 1A80 strh r2, [r3]
+ 1072 .LVL139:
+ 1073 .L49:
+ 1074 .LBE43:
+ 1075 .LBE42:
+ 1076 .LBB44:
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 1077 .loc 1 385 0 is_stmt 1
+ 1078 00aa 0B78 ldrb r3, [r1]
+ 1079 00ac 9B00 lsls r3, r3, #2
+ 1080 00ae C318 adds r3, r0, r3
+ 1081 00b0 1A88 ldrh r2, [r3]
+ 1082 00b2 294C ldr r4, .L52
+ 1083 00b4 1440 ands r4, r2
+ 1084 .LVL140:
+ 1085 00b6 294A ldr r2, .L52+4
+ 1086 00b8 2243 orrs r2, r4
+ 1087 00ba 92B2 uxth r2, r2
+ 1088 00bc 1A80 strh r2, [r3]
+ 1089 .LBE44:
+ 1090 .LBB45:
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 1091 .loc 1 387 0
+ 1092 00be 0C78 ldrb r4, [r1]
+ 1093 .LVL141:
+ 1094 00c0 A400 lsls r4, r4, #2
+ 1095 00c2 0419 adds r4, r0, r4
+ 1096 00c4 2388 ldrh r3, [r4]
+ 1097 00c6 294A ldr r2, .L52+20
+ 1098 00c8 1340 ands r3, r2
+ 1099 .LVL142:
+ 1100 00ca 264A ldr r2, .L52+12
+ 1101 00cc 1343 orrs r3, r2
+ 1102 .LVL143:
+ 1103 00ce 9BB2 uxth r3, r3
+ 1104 00d0 2380 strh r3, [r4]
+ 1105 .LBE45:
+ 1106 .LBB46:
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1107 .loc 1 388 0
+ 1108 00d2 0B78 ldrb r3, [r1]
+ ARM GAS /tmp/cc29f2cM.s page 28
+
+
+ 1109 00d4 9B00 lsls r3, r3, #2
+ 1110 00d6 C018 adds r0, r0, r3
+ 1111 .LVL144:
+ 1112 00d8 0388 ldrh r3, [r0]
+ 1113 00da 2149 ldr r1, .L52+8
+ 1114 .LVL145:
+ 1115 00dc 0B40 ands r3, r1
+ 1116 .LVL146:
+ 1117 00de 1A43 orrs r2, r3
+ 1118 00e0 92B2 uxth r2, r2
+ 1119 00e2 0280 strh r2, [r0]
+ 1120 .LBE46:
+ 1121 00e4 AAE7 b .L45
+ 1122 .LVL147:
+ 1123 .L47:
+ 1124 .LBB47:
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 1125 .loc 1 393 0
+ 1126 00e6 0B78 ldrb r3, [r1]
+ 1127 00e8 9B00 lsls r3, r3, #2
+ 1128 00ea C318 adds r3, r0, r3
+ 1129 00ec 1A88 ldrh r2, [r3]
+ 1130 .LVL148:
+ 1131 00ee 5204 lsls r2, r2, #17
+ 1132 00f0 06D5 bpl .L50
+ 1133 .LVL149:
+ 1134 .LBB48:
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 1135 .loc 1 393 0 is_stmt 0 discriminator 1
+ 1136 00f2 1A88 ldrh r2, [r3]
+ 1137 00f4 184C ldr r4, .L52
+ 1138 00f6 1440 ands r4, r2
+ 1139 .LVL150:
+ 1140 00f8 1B4A ldr r2, .L52+16
+ 1141 00fa 2243 orrs r2, r4
+ 1142 00fc 92B2 uxth r2, r2
+ 1143 00fe 1A80 strh r2, [r3]
+ 1144 .LVL151:
+ 1145 .L50:
+ 1146 .LBE48:
+ 1147 .LBE47:
+ 1148 .LBB49:
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 1149 .loc 1 394 0 is_stmt 1
+ 1150 0100 0B78 ldrb r3, [r1]
+ 1151 0102 9B00 lsls r3, r3, #2
+ 1152 0104 C318 adds r3, r0, r3
+ 1153 0106 1A88 ldrh r2, [r3]
+ 1154 .LVL152:
+ 1155 0108 5206 lsls r2, r2, #25
+ 1156 010a 06D5 bpl .L51
+ 1157 .LVL153:
+ 1158 .LBB50:
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 1159 .loc 1 394 0 is_stmt 0 discriminator 1
+ 1160 010c 1A88 ldrh r2, [r3]
+ 1161 010e 124C ldr r4, .L52
+ ARM GAS /tmp/cc29f2cM.s page 29
+
+
+ 1162 0110 1440 ands r4, r2
+ 1163 .LVL154:
+ 1164 0112 124A ldr r2, .L52+4
+ 1165 0114 2243 orrs r2, r4
+ 1166 0116 92B2 uxth r2, r2
+ 1167 0118 1A80 strh r2, [r3]
+ 1168 .LVL155:
+ 1169 .L51:
+ 1170 .LBE50:
+ 1171 .LBE49:
+ 1172 .LBB51:
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 1173 .loc 1 395 0 is_stmt 1
+ 1174 011a 0B78 ldrb r3, [r1]
+ 1175 011c 9B00 lsls r3, r3, #2
+ 1176 011e C318 adds r3, r0, r3
+ 1177 0120 1A88 ldrh r2, [r3]
+ 1178 0122 0D4C ldr r4, .L52
+ 1179 0124 1440 ands r4, r2
+ 1180 .LVL156:
+ 1181 0126 104A ldr r2, .L52+16
+ 1182 0128 2243 orrs r2, r4
+ 1183 012a 92B2 uxth r2, r2
+ 1184 012c 1A80 strh r2, [r3]
+ 1185 .LBE51:
+ 1186 .LBB52:
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
+ 1187 .loc 1 397 0
+ 1188 012e 0C78 ldrb r4, [r1]
+ 1189 .LVL157:
+ 1190 0130 A400 lsls r4, r4, #2
+ 1191 0132 0419 adds r4, r0, r4
+ 1192 0134 2388 ldrh r3, [r4]
+ 1193 0136 0A4A ldr r2, .L52+8
+ 1194 0138 1340 ands r3, r2
+ 1195 .LVL158:
+ 1196 013a 0A4A ldr r2, .L52+12
+ 1197 013c 1343 orrs r3, r2
+ 1198 .LVL159:
+ 1199 013e 9BB2 uxth r3, r3
+ 1200 0140 2380 strh r3, [r4]
+ 1201 .LBE52:
+ 1202 .LBB53:
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1203 .loc 1 398 0
+ 1204 0142 0B78 ldrb r3, [r1]
+ 1205 0144 9B00 lsls r3, r3, #2
+ 1206 0146 C018 adds r0, r0, r3
+ 1207 .LVL160:
+ 1208 0148 0388 ldrh r3, [r0]
+ 1209 014a 0849 ldr r1, .L52+20
+ 1210 .LVL161:
+ 1211 014c 0B40 ands r3, r1
+ 1212 .LVL162:
+ 1213 014e 1A43 orrs r2, r3
+ 1214 0150 92B2 uxth r2, r2
+ 1215 0152 0280 strh r2, [r0]
+ ARM GAS /tmp/cc29f2cM.s page 30
+
+
+ 1216 0154 72E7 b .L45
+ 1217 .L53:
+ 1218 0156 C046 .align 2
+ 1219 .L52:
+ 1220 0158 8F8FFFFF .word -28785
+ 1221 015c C080FFFF .word -32576
+ 1222 0160 BF8FFFFF .word -28737
+ 1223 0164 8080FFFF .word -32640
+ 1224 0168 80C0FFFF .word -16256
+ 1225 016c 8FBFFFFF .word -16497
+ 1226 .LBE53:
+ 1227 .cfi_endproc
+ 1228 .LFE49:
+ 1230 .section .text.USB_WritePacket,"ax",%progbits
+ 1231 .align 1
+ 1232 .global USB_WritePacket
+ 1233 .syntax unified
+ 1234 .code 16
+ 1235 .thumb_func
+ 1236 .fpu softvfp
+ 1238 USB_WritePacket:
+ 1239 .LFB51:
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_EPStartXfer : setup and starts a transfer over an EP
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ep: pointer to endpoint structure
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_EPStartXfer(USB_TypeDef *USBx, USB_EPTypeDef *ep)
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t pmabuffer;
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t len;
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* IN endpoint */
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in == 1U)
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Multi packet transfer*/
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->xfer_len > ep->maxpacket)
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** len = ep->maxpacket;
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len -= len;
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** len = ep->xfer_len;
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len = 0U;
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* configure and validate Tx endpoint */
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->doublebuffer == 0U)
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_WritePMA(USBx, ep->xfer_buff, ep->pmaadress, (uint16_t)len);
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_CNT(USBx, ep->num, len);
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ ARM GAS /tmp/cc29f2cM.s page 31
+
+
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Write the data to the USB endpoint */
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U)
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set the Double buffer counter for pmabuffer1 */
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len);
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set the Double buffer counter for pmabuffer0 */
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len);
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len);
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_FreeUserBuffer(USBx, ep->num, ep->is_in);
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_VALID);
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else /* OUT endpoint */
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Multi packet transfer*/
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->xfer_len > ep->maxpacket)
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** len = ep->maxpacket;
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len -= len;
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** len = ep->xfer_len;
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len = 0U;
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* configure and validate Rx endpoint */
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->doublebuffer == 0U)
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set RX buffer count*/
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_CNT(USBx, ep->num, len);
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set the Double buffer counter*/
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_DBUF_CNT(USBx, ep->num, ep->is_in, len);
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_WritePacket : Writes a packet into the Tx FIFO associated
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * with the EP/channel
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param src : pointer to source buffer
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ch_ep_num : endpoint or host channel number
+ ARM GAS /tmp/cc29f2cM.s page 32
+
+
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param len : Number of bytes to write
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_WritePacket(USB_TypeDef *USBx, uint8_t *src, uint8_t ch_ep_num, uint16_t len)
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1240 .loc 1 500 0
+ 1241 .cfi_startproc
+ 1242 @ args = 0, pretend = 0, frame = 0
+ 1243 @ frame_needed = 0, uses_anonymous_args = 0
+ 1244 @ link register save eliminated.
+ 1245 .LVL163:
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(src);
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(ch_ep_num);
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(len);
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1246 .loc 1 511 0
+ 1247 0000 0020 movs r0, #0
+ 1248 .LVL164:
+ 1249 @ sp needed
+ 1250 0002 7047 bx lr
+ 1251 .cfi_endproc
+ 1252 .LFE51:
+ 1254 .section .text.USB_ReadPacket,"ax",%progbits
+ 1255 .align 1
+ 1256 .global USB_ReadPacket
+ 1257 .syntax unified
+ 1258 .code 16
+ 1259 .thumb_func
+ 1260 .fpu softvfp
+ 1262 USB_ReadPacket:
+ 1263 .LFB52:
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ReadPacket : read a packet from the Tx FIFO associated
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * with the EP/channel
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param dest : destination pointer
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param len : Number of bytes to read
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval pointer to destination buffer
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** void *USB_ReadPacket(USB_TypeDef *USBx, uint8_t *dest, uint16_t len)
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1264 .loc 1 522 0
+ 1265 .cfi_startproc
+ 1266 @ args = 0, pretend = 0, frame = 0
+ 1267 @ frame_needed = 0, uses_anonymous_args = 0
+ 1268 @ link register save eliminated.
+ 1269 .LVL165:
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ ARM GAS /tmp/cc29f2cM.s page 33
+
+
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(dest);
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(len);
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return ((void *)NULL);
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1270 .loc 1 532 0
+ 1271 0000 0020 movs r0, #0
+ 1272 .LVL166:
+ 1273 @ sp needed
+ 1274 0002 7047 bx lr
+ 1275 .cfi_endproc
+ 1276 .LFE52:
+ 1278 .section .text.USB_EPSetStall,"ax",%progbits
+ 1279 .align 1
+ 1280 .global USB_EPSetStall
+ 1281 .syntax unified
+ 1282 .code 16
+ 1283 .thumb_func
+ 1284 .fpu softvfp
+ 1286 USB_EPSetStall:
+ 1287 .LFB53:
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_EPSetStall : set a stall condition over an EP
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ep: pointer to endpoint structure
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_EPSetStall(USB_TypeDef *USBx, USB_EPTypeDef *ep)
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1288 .loc 1 541 0
+ 1289 .cfi_startproc
+ 1290 @ args = 0, pretend = 0, frame = 0
+ 1291 @ frame_needed = 0, uses_anonymous_args = 0
+ 1292 @ link register save eliminated.
+ 1293 .LVL167:
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in != 0U)
+ 1294 .loc 1 542 0
+ 1295 0000 4B78 ldrb r3, [r1, #1]
+ 1296 0002 002B cmp r3, #0
+ 1297 0004 0ED1 bne .L59
+ 1298 .LBB54:
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_STALL);
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_STALL);
+ 1299 .loc 1 548 0
+ 1300 0006 0B78 ldrb r3, [r1]
+ 1301 0008 9B00 lsls r3, r3, #2
+ 1302 000a C018 adds r0, r0, r3
+ 1303 .LVL168:
+ 1304 000c 0288 ldrh r2, [r0]
+ ARM GAS /tmp/cc29f2cM.s page 34
+
+
+ 1305 000e 0C4B ldr r3, .L60
+ 1306 0010 1A40 ands r2, r3
+ 1307 .LVL169:
+ 1308 0012 8023 movs r3, #128
+ 1309 0014 5B01 lsls r3, r3, #5
+ 1310 0016 5A40 eors r2, r3
+ 1311 .LVL170:
+ 1312 0018 0A4B ldr r3, .L60+4
+ 1313 001a 1343 orrs r3, r2
+ 1314 001c 9BB2 uxth r3, r3
+ 1315 001e 0380 strh r3, [r0]
+ 1316 .LVL171:
+ 1317 .L58:
+ 1318 .LBE54:
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1319 .loc 1 552 0
+ 1320 0020 0020 movs r0, #0
+ 1321 @ sp needed
+ 1322 0022 7047 bx lr
+ 1323 .LVL172:
+ 1324 .L59:
+ 1325 .LBB55:
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1326 .loc 1 544 0
+ 1327 0024 0B78 ldrb r3, [r1]
+ 1328 0026 9B00 lsls r3, r3, #2
+ 1329 0028 C018 adds r0, r0, r3
+ 1330 .LVL173:
+ 1331 002a 0388 ldrh r3, [r0]
+ 1332 002c 064A ldr r2, .L60+8
+ 1333 002e 1340 ands r3, r2
+ 1334 .LVL174:
+ 1335 0030 1022 movs r2, #16
+ 1336 0032 5A40 eors r2, r3
+ 1337 .LVL175:
+ 1338 0034 034B ldr r3, .L60+4
+ 1339 0036 1343 orrs r3, r2
+ 1340 0038 9BB2 uxth r3, r3
+ 1341 003a 0380 strh r3, [r0]
+ 1342 .LBE55:
+ 1343 003c F0E7 b .L58
+ 1344 .L61:
+ 1345 003e C046 .align 2
+ 1346 .L60:
+ 1347 0040 8FBFFFFF .word -16497
+ 1348 0044 8080FFFF .word -32640
+ 1349 0048 BF8FFFFF .word -28737
+ 1350 .cfi_endproc
+ 1351 .LFE53:
+ 1353 .section .text.USB_EPClearStall,"ax",%progbits
+ 1354 .align 1
+ 1355 .global USB_EPClearStall
+ 1356 .syntax unified
+ 1357 .code 16
+ ARM GAS /tmp/cc29f2cM.s page 35
+
+
+ 1358 .thumb_func
+ 1359 .fpu softvfp
+ 1361 USB_EPClearStall:
+ 1362 .LFB54:
+ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_EPClearStall : Clear a stall condition over an EP
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ep: pointer to endpoint structure
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_EPClearStall(USB_TypeDef *USBx, USB_EPTypeDef *ep)
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1363 .loc 1 561 0
+ 1364 .cfi_startproc
+ 1365 @ args = 0, pretend = 0, frame = 0
+ 1366 @ frame_needed = 0, uses_anonymous_args = 0
+ 1367 .LVL176:
+ 1368 0000 10B5 push {r4, lr}
+ 1369 .LCFI5:
+ 1370 .cfi_def_cfa_offset 8
+ 1371 .cfi_offset 4, -8
+ 1372 .cfi_offset 14, -4
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->doublebuffer == 0U)
+ 1373 .loc 1 562 0
+ 1374 0002 0B7B ldrb r3, [r1, #12]
+ 1375 0004 002B cmp r3, #0
+ 1376 0006 39D1 bne .L63
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in != 0U)
+ 1377 .loc 1 564 0
+ 1378 0008 4B78 ldrb r3, [r1, #1]
+ 1379 000a 002B cmp r3, #0
+ 1380 000c 1CD0 beq .L64
+ 1381 .LBB56:
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 1382 .loc 1 566 0
+ 1383 000e 0B78 ldrb r3, [r1]
+ 1384 0010 9B00 lsls r3, r3, #2
+ 1385 0012 C318 adds r3, r0, r3
+ 1386 0014 1A88 ldrh r2, [r3]
+ 1387 .LVL177:
+ 1388 0016 5206 lsls r2, r2, #25
+ 1389 0018 06D5 bpl .L65
+ 1390 .LVL178:
+ 1391 .LBB57:
+ 1392 .loc 1 566 0 is_stmt 0 discriminator 1
+ 1393 001a 1A88 ldrh r2, [r3]
+ 1394 001c 184C ldr r4, .L67
+ 1395 001e 1440 ands r4, r2
+ 1396 .LVL179:
+ 1397 0020 184A ldr r2, .L67+4
+ 1398 0022 2243 orrs r2, r4
+ 1399 0024 92B2 uxth r2, r2
+ 1400 0026 1A80 strh r2, [r3]
+ 1401 .LVL180:
+ ARM GAS /tmp/cc29f2cM.s page 36
+
+
+ 1402 .L65:
+ 1403 .LBE57:
+ 1404 .LBE56:
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->type != EP_TYPE_ISOC)
+ 1405 .loc 1 568 0 is_stmt 1
+ 1406 0028 CB78 ldrb r3, [r1, #3]
+ 1407 002a 012B cmp r3, #1
+ 1408 002c 26D0 beq .L63
+ 1409 .LBB58:
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure NAK status for the Endpoint */
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK);
+ 1410 .loc 1 571 0
+ 1411 002e 0B78 ldrb r3, [r1]
+ 1412 0030 9B00 lsls r3, r3, #2
+ 1413 0032 C018 adds r0, r0, r3
+ 1414 .LVL181:
+ 1415 0034 0388 ldrh r3, [r0]
+ 1416 0036 144A ldr r2, .L67+8
+ 1417 0038 1340 ands r3, r2
+ 1418 .LVL182:
+ 1419 003a 2022 movs r2, #32
+ 1420 003c 5A40 eors r2, r3
+ 1421 .LVL183:
+ 1422 003e 134B ldr r3, .L67+12
+ 1423 0040 1343 orrs r3, r2
+ 1424 0042 9BB2 uxth r3, r3
+ 1425 0044 0380 strh r3, [r0]
+ 1426 0046 19E0 b .L63
+ 1427 .LVL184:
+ 1428 .L64:
+ 1429 .LBE58:
+ 1430 .LBB59:
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 1431 .loc 1 576 0
+ 1432 0048 0B78 ldrb r3, [r1]
+ 1433 004a 9B00 lsls r3, r3, #2
+ 1434 004c C318 adds r3, r0, r3
+ 1435 004e 1A88 ldrh r2, [r3]
+ 1436 .LVL185:
+ 1437 0050 5204 lsls r2, r2, #17
+ 1438 0052 06D5 bpl .L66
+ 1439 .LVL186:
+ 1440 .LBB60:
+ 1441 .loc 1 576 0 is_stmt 0 discriminator 1
+ 1442 0054 1A88 ldrh r2, [r3]
+ 1443 0056 0A4C ldr r4, .L67
+ 1444 0058 1440 ands r4, r2
+ 1445 .LVL187:
+ 1446 005a 0D4A ldr r2, .L67+16
+ 1447 005c 2243 orrs r2, r4
+ 1448 005e 92B2 uxth r2, r2
+ ARM GAS /tmp/cc29f2cM.s page 37
+
+
+ 1449 0060 1A80 strh r2, [r3]
+ 1450 .LVL188:
+ 1451 .L66:
+ 1452 .LBE60:
+ 1453 .LBE59:
+ 1454 .LBB61:
+ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure VALID status for the Endpoint*/
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
+ 1455 .loc 1 579 0 is_stmt 1
+ 1456 0062 0B78 ldrb r3, [r1]
+ 1457 0064 9B00 lsls r3, r3, #2
+ 1458 0066 C018 adds r0, r0, r3
+ 1459 .LVL189:
+ 1460 0068 0288 ldrh r2, [r0]
+ 1461 006a 0A4B ldr r3, .L67+20
+ 1462 006c 1A40 ands r2, r3
+ 1463 .LVL190:
+ 1464 006e C023 movs r3, #192
+ 1465 0070 9B01 lsls r3, r3, #6
+ 1466 0072 5A40 eors r2, r3
+ 1467 .LVL191:
+ 1468 0074 054B ldr r3, .L67+12
+ 1469 0076 1343 orrs r3, r2
+ 1470 0078 9BB2 uxth r3, r3
+ 1471 007a 0380 strh r3, [r0]
+ 1472 .LVL192:
+ 1473 .L63:
+ 1474 .LBE61:
+ 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1475 .loc 1 584 0
+ 1476 007c 0020 movs r0, #0
+ 1477 @ sp needed
+ 1478 007e 10BD pop {r4, pc}
+ 1479 .L68:
+ 1480 .align 2
+ 1481 .L67:
+ 1482 0080 8F8FFFFF .word -28785
+ 1483 0084 C080FFFF .word -32576
+ 1484 0088 BF8FFFFF .word -28737
+ 1485 008c 8080FFFF .word -32640
+ 1486 0090 80C0FFFF .word -16256
+ 1487 0094 8FBFFFFF .word -16497
+ 1488 .cfi_endproc
+ 1489 .LFE54:
+ 1491 .section .text.USB_StopDevice,"ax",%progbits
+ 1492 .align 1
+ 1493 .global USB_StopDevice
+ 1494 .syntax unified
+ 1495 .code 16
+ 1496 .thumb_func
+ 1497 .fpu softvfp
+ 1499 USB_StopDevice:
+ ARM GAS /tmp/cc29f2cM.s page 38
+
+
+ 1500 .LFB55:
+ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_StopDevice : Stop the usb device mode
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_StopDevice(USB_TypeDef *USBx)
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1501 .loc 1 592 0
+ 1502 .cfi_startproc
+ 1503 @ args = 0, pretend = 0, frame = 0
+ 1504 @ frame_needed = 0, uses_anonymous_args = 0
+ 1505 @ link register save eliminated.
+ 1506 .LVL193:
+ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* disable all interrupts and force USB reset */
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR = USB_CNTR_FRES;
+ 1507 .loc 1 594 0
+ 1508 0000 4023 movs r3, #64
+ 1509 0002 0122 movs r2, #1
+ 1510 0004 C252 strh r2, [r0, r3]
+ 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* clear interrupt status register */
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->ISTR = 0;
+ 1511 .loc 1 597 0
+ 1512 0006 4332 adds r2, r2, #67
+ 1513 0008 0021 movs r1, #0
+ 1514 000a 8152 strh r1, [r0, r2]
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* switch-off device */
+ 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR = (USB_CNTR_FRES | USB_CNTR_PDWN);
+ 1515 .loc 1 600 0
+ 1516 000c 413A subs r2, r2, #65
+ 1517 000e C252 strh r2, [r0, r3]
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1518 .loc 1 603 0
+ 1519 0010 0020 movs r0, #0
+ 1520 .LVL194:
+ 1521 @ sp needed
+ 1522 0012 7047 bx lr
+ 1523 .cfi_endproc
+ 1524 .LFE55:
+ 1526 .section .text.USB_SetDevAddress,"ax",%progbits
+ 1527 .align 1
+ 1528 .global USB_SetDevAddress
+ 1529 .syntax unified
+ 1530 .code 16
+ 1531 .thumb_func
+ 1532 .fpu softvfp
+ 1534 USB_SetDevAddress:
+ 1535 .LFB56:
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_SetDevAddress : Stop the usb device mode
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ ARM GAS /tmp/cc29f2cM.s page 39
+
+
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param address : new device address to be assigned
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This parameter can be a value from 0 to 255
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_SetDevAddress(USB_TypeDef *USBx, uint8_t address)
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1536 .loc 1 613 0
+ 1537 .cfi_startproc
+ 1538 @ args = 0, pretend = 0, frame = 0
+ 1539 @ frame_needed = 0, uses_anonymous_args = 0
+ 1540 @ link register save eliminated.
+ 1541 .LVL195:
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (address == 0U)
+ 1542 .loc 1 614 0
+ 1543 0000 0029 cmp r1, #0
+ 1544 0002 02D1 bne .L71
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* set device address and enable function */
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->DADDR = USB_DADDR_EF;
+ 1545 .loc 1 617 0
+ 1546 0004 4C23 movs r3, #76
+ 1547 0006 8022 movs r2, #128
+ 1548 0008 C252 strh r2, [r0, r3]
+ 1549 .L71:
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1550 .loc 1 621 0
+ 1551 000a 0020 movs r0, #0
+ 1552 .LVL196:
+ 1553 @ sp needed
+ 1554 000c 7047 bx lr
+ 1555 .cfi_endproc
+ 1556 .LFE56:
+ 1558 .section .text.USB_DevConnect,"ax",%progbits
+ 1559 .align 1
+ 1560 .global USB_DevConnect
+ 1561 .syntax unified
+ 1562 .code 16
+ 1563 .thumb_func
+ 1564 .fpu softvfp
+ 1566 USB_DevConnect:
+ 1567 .LFB57:
+ 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_DevConnect : Connect the USB device by enabling the pull-up/pull-down
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DevConnect(USB_TypeDef *USBx)
+ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1568 .loc 1 629 0
+ 1569 .cfi_startproc
+ 1570 @ args = 0, pretend = 0, frame = 0
+ 1571 @ frame_needed = 0, uses_anonymous_args = 0
+ 1572 @ link register save eliminated.
+ ARM GAS /tmp/cc29f2cM.s page 40
+
+
+ 1573 .LVL197:
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Enabling DP Pull-UP bit to Connect internal PU resistor on USB DP line */
+ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->BCDR |= USB_BCDR_DPPU;
+ 1574 .loc 1 631 0
+ 1575 0000 5822 movs r2, #88
+ 1576 0002 835A ldrh r3, [r0, r2]
+ 1577 0004 0249 ldr r1, .L73
+ 1578 0006 0B43 orrs r3, r1
+ 1579 0008 9BB2 uxth r3, r3
+ 1580 000a 8352 strh r3, [r0, r2]
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1581 .loc 1 634 0
+ 1582 000c 0020 movs r0, #0
+ 1583 .LVL198:
+ 1584 @ sp needed
+ 1585 000e 7047 bx lr
+ 1586 .L74:
+ 1587 .align 2
+ 1588 .L73:
+ 1589 0010 0080FFFF .word -32768
+ 1590 .cfi_endproc
+ 1591 .LFE57:
+ 1593 .section .text.USB_DevDisconnect,"ax",%progbits
+ 1594 .align 1
+ 1595 .global USB_DevDisconnect
+ 1596 .syntax unified
+ 1597 .code 16
+ 1598 .thumb_func
+ 1599 .fpu softvfp
+ 1601 USB_DevDisconnect:
+ 1602 .LFB58:
+ 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_DevDisconnect : Disconnect the USB device by disabling the pull-up/pull-down
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DevDisconnect(USB_TypeDef *USBx)
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1603 .loc 1 642 0
+ 1604 .cfi_startproc
+ 1605 @ args = 0, pretend = 0, frame = 0
+ 1606 @ frame_needed = 0, uses_anonymous_args = 0
+ 1607 @ link register save eliminated.
+ 1608 .LVL199:
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Disable DP Pull-Up bit to disconnect the Internal PU resistor on USB DP line */
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->BCDR &= (uint16_t)(~(USB_BCDR_DPPU));
+ 1609 .loc 1 644 0
+ 1610 0000 5822 movs r2, #88
+ 1611 0002 835A ldrh r3, [r0, r2]
+ 1612 0004 5B04 lsls r3, r3, #17
+ 1613 0006 5B0C lsrs r3, r3, #17
+ 1614 0008 8352 strh r3, [r0, r2]
+ 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ ARM GAS /tmp/cc29f2cM.s page 41
+
+
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1615 .loc 1 647 0
+ 1616 000a 0020 movs r0, #0
+ 1617 .LVL200:
+ 1618 @ sp needed
+ 1619 000c 7047 bx lr
+ 1620 .cfi_endproc
+ 1621 .LFE58:
+ 1623 .section .text.USB_ReadInterrupts,"ax",%progbits
+ 1624 .align 1
+ 1625 .global USB_ReadInterrupts
+ 1626 .syntax unified
+ 1627 .code 16
+ 1628 .thumb_func
+ 1629 .fpu softvfp
+ 1631 USB_ReadInterrupts:
+ 1632 .LFB59:
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ReadInterrupts: return the global USB interrupt status
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t USB_ReadInterrupts(USB_TypeDef *USBx)
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1633 .loc 1 655 0
+ 1634 .cfi_startproc
+ 1635 @ args = 0, pretend = 0, frame = 0
+ 1636 @ frame_needed = 0, uses_anonymous_args = 0
+ 1637 @ link register save eliminated.
+ 1638 .LVL201:
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t tmpreg;
+ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** tmpreg = USBx->ISTR;
+ 1639 .loc 1 658 0
+ 1640 0000 4423 movs r3, #68
+ 1641 0002 C05A ldrh r0, [r0, r3]
+ 1642 .LVL202:
+ 1643 0004 80B2 uxth r0, r0
+ 1644 .LVL203:
+ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return tmpreg;
+ 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1645 .loc 1 660 0
+ 1646 @ sp needed
+ 1647 0006 7047 bx lr
+ 1648 .cfi_endproc
+ 1649 .LFE59:
+ 1651 .section .text.USB_ReadDevAllOutEpInterrupt,"ax",%progbits
+ 1652 .align 1
+ 1653 .global USB_ReadDevAllOutEpInterrupt
+ 1654 .syntax unified
+ 1655 .code 16
+ 1656 .thumb_func
+ 1657 .fpu softvfp
+ 1659 USB_ReadDevAllOutEpInterrupt:
+ 1660 .LFB60:
+ 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ ARM GAS /tmp/cc29f2cM.s page 42
+
+
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ReadDevAllOutEpInterrupt: return the USB device OUT endpoints interrupt status
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t USB_ReadDevAllOutEpInterrupt(USB_TypeDef *USBx)
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1661 .loc 1 668 0
+ 1662 .cfi_startproc
+ 1663 @ args = 0, pretend = 0, frame = 0
+ 1664 @ frame_needed = 0, uses_anonymous_args = 0
+ 1665 @ link register save eliminated.
+ 1666 .LVL204:
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return (0);
+ 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1667 .loc 1 676 0
+ 1668 0000 0020 movs r0, #0
+ 1669 .LVL205:
+ 1670 @ sp needed
+ 1671 0002 7047 bx lr
+ 1672 .cfi_endproc
+ 1673 .LFE60:
+ 1675 .section .text.USB_ReadDevAllInEpInterrupt,"ax",%progbits
+ 1676 .align 1
+ 1677 .global USB_ReadDevAllInEpInterrupt
+ 1678 .syntax unified
+ 1679 .code 16
+ 1680 .thumb_func
+ 1681 .fpu softvfp
+ 1683 USB_ReadDevAllInEpInterrupt:
+ 1684 .LFB61:
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ReadDevAllInEpInterrupt: return the USB device IN endpoints interrupt status
+ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t USB_ReadDevAllInEpInterrupt(USB_TypeDef *USBx)
+ 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1685 .loc 1 684 0
+ 1686 .cfi_startproc
+ 1687 @ args = 0, pretend = 0, frame = 0
+ 1688 @ frame_needed = 0, uses_anonymous_args = 0
+ 1689 @ link register save eliminated.
+ 1690 .LVL206:
+ 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ ARM GAS /tmp/cc29f2cM.s page 43
+
+
+ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return (0);
+ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1691 .loc 1 692 0
+ 1692 0000 0020 movs r0, #0
+ 1693 .LVL207:
+ 1694 @ sp needed
+ 1695 0002 7047 bx lr
+ 1696 .cfi_endproc
+ 1697 .LFE61:
+ 1699 .section .text.USB_ReadDevOutEPInterrupt,"ax",%progbits
+ 1700 .align 1
+ 1701 .global USB_ReadDevOutEPInterrupt
+ 1702 .syntax unified
+ 1703 .code 16
+ 1704 .thumb_func
+ 1705 .fpu softvfp
+ 1707 USB_ReadDevOutEPInterrupt:
+ 1708 .LFB62:
+ 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Returns Device OUT EP Interrupt register
+ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param epnum : endpoint number
+ 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This parameter can be a value from 0 to 15
+ 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval Device OUT EP Interrupt register
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t USB_ReadDevOutEPInterrupt(USB_TypeDef *USBx, uint8_t epnum)
+ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1709 .loc 1 702 0
+ 1710 .cfi_startproc
+ 1711 @ args = 0, pretend = 0, frame = 0
+ 1712 @ frame_needed = 0, uses_anonymous_args = 0
+ 1713 @ link register save eliminated.
+ 1714 .LVL208:
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(epnum);
+ 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return (0);
+ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1715 .loc 1 711 0
+ 1716 0000 0020 movs r0, #0
+ 1717 .LVL209:
+ 1718 @ sp needed
+ 1719 0002 7047 bx lr
+ 1720 .cfi_endproc
+ 1721 .LFE62:
+ 1723 .section .text.USB_ReadDevInEPInterrupt,"ax",%progbits
+ 1724 .align 1
+ 1725 .global USB_ReadDevInEPInterrupt
+ 1726 .syntax unified
+ 1727 .code 16
+ 1728 .thumb_func
+ 1729 .fpu softvfp
+ ARM GAS /tmp/cc29f2cM.s page 44
+
+
+ 1731 USB_ReadDevInEPInterrupt:
+ 1732 .LFB63:
+ 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Returns Device IN EP Interrupt register
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param epnum : endpoint number
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This parameter can be a value from 0 to 15
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval Device IN EP Interrupt register
+ 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t USB_ReadDevInEPInterrupt(USB_TypeDef *USBx, uint8_t epnum)
+ 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1733 .loc 1 721 0
+ 1734 .cfi_startproc
+ 1735 @ args = 0, pretend = 0, frame = 0
+ 1736 @ frame_needed = 0, uses_anonymous_args = 0
+ 1737 @ link register save eliminated.
+ 1738 .LVL210:
+ 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(epnum);
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return (0);
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1739 .loc 1 730 0
+ 1740 0000 0020 movs r0, #0
+ 1741 .LVL211:
+ 1742 @ sp needed
+ 1743 0002 7047 bx lr
+ 1744 .cfi_endproc
+ 1745 .LFE63:
+ 1747 .section .text.USB_ClearInterrupts,"ax",%progbits
+ 1748 .align 1
+ 1749 .global USB_ClearInterrupts
+ 1750 .syntax unified
+ 1751 .code 16
+ 1752 .thumb_func
+ 1753 .fpu softvfp
+ 1755 USB_ClearInterrupts:
+ 1756 .LFB64:
+ 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ClearInterrupts: clear a USB interrupt
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx Selected device
+ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param interrupt interrupt flag
+ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval None
+ 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** void USB_ClearInterrupts(USB_TypeDef *USBx, uint32_t interrupt)
+ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1757 .loc 1 739 0
+ 1758 .cfi_startproc
+ 1759 @ args = 0, pretend = 0, frame = 0
+ 1760 @ frame_needed = 0, uses_anonymous_args = 0
+ 1761 @ link register save eliminated.
+ ARM GAS /tmp/cc29f2cM.s page 45
+
+
+ 1762 .LVL212:
+ 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(interrupt);
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1763 .loc 1 747 0
+ 1764 @ sp needed
+ 1765 0000 7047 bx lr
+ 1766 .cfi_endproc
+ 1767 .LFE64:
+ 1769 .section .text.USB_EP0_OutStart,"ax",%progbits
+ 1770 .align 1
+ 1771 .global USB_EP0_OutStart
+ 1772 .syntax unified
+ 1773 .code 16
+ 1774 .thumb_func
+ 1775 .fpu softvfp
+ 1777 USB_EP0_OutStart:
+ 1778 .LFB65:
+ 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Prepare the EP0 to start the first control setup
+ 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx Selected device
+ 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param psetup pointer to setup packet
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_EP0_OutStart(USB_TypeDef *USBx, uint8_t *psetup)
+ 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1779 .loc 1 756 0
+ 1780 .cfi_startproc
+ 1781 @ args = 0, pretend = 0, frame = 0
+ 1782 @ frame_needed = 0, uses_anonymous_args = 0
+ 1783 @ link register save eliminated.
+ 1784 .LVL213:
+ 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(psetup);
+ 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1785 .loc 1 765 0
+ 1786 0000 0020 movs r0, #0
+ 1787 .LVL214:
+ 1788 @ sp needed
+ 1789 0002 7047 bx lr
+ 1790 .cfi_endproc
+ 1791 .LFE65:
+ 1793 .section .text.USB_ActivateRemoteWakeup,"ax",%progbits
+ 1794 .align 1
+ 1795 .global USB_ActivateRemoteWakeup
+ ARM GAS /tmp/cc29f2cM.s page 46
+
+
+ 1796 .syntax unified
+ 1797 .code 16
+ 1798 .thumb_func
+ 1799 .fpu softvfp
+ 1801 USB_ActivateRemoteWakeup:
+ 1802 .LFB66:
+ 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ActivateRemoteWakeup : active remote wakeup signalling
+ 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx Selected device
+ 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateRemoteWakeup(USB_TypeDef *USBx)
+ 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1803 .loc 1 773 0
+ 1804 .cfi_startproc
+ 1805 @ args = 0, pretend = 0, frame = 0
+ 1806 @ frame_needed = 0, uses_anonymous_args = 0
+ 1807 @ link register save eliminated.
+ 1808 .LVL215:
+ 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR |= USB_CNTR_RESUME;
+ 1809 .loc 1 774 0
+ 1810 0000 4022 movs r2, #64
+ 1811 0002 835A ldrh r3, [r0, r2]
+ 1812 0004 1021 movs r1, #16
+ 1813 0006 0B43 orrs r3, r1
+ 1814 0008 8352 strh r3, [r0, r2]
+ 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1815 .loc 1 777 0
+ 1816 000a 0020 movs r0, #0
+ 1817 .LVL216:
+ 1818 @ sp needed
+ 1819 000c 7047 bx lr
+ 1820 .cfi_endproc
+ 1821 .LFE66:
+ 1823 .section .text.USB_DeActivateRemoteWakeup,"ax",%progbits
+ 1824 .align 1
+ 1825 .global USB_DeActivateRemoteWakeup
+ 1826 .syntax unified
+ 1827 .code 16
+ 1828 .thumb_func
+ 1829 .fpu softvfp
+ 1831 USB_DeActivateRemoteWakeup:
+ 1832 .LFB67:
+ 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_DeActivateRemoteWakeup : de-active remote wakeup signalling
+ 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx Selected device
+ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DeActivateRemoteWakeup(USB_TypeDef *USBx)
+ 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1833 .loc 1 785 0
+ 1834 .cfi_startproc
+ 1835 @ args = 0, pretend = 0, frame = 0
+ ARM GAS /tmp/cc29f2cM.s page 47
+
+
+ 1836 @ frame_needed = 0, uses_anonymous_args = 0
+ 1837 @ link register save eliminated.
+ 1838 .LVL217:
+ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR &= ~(USB_CNTR_RESUME);
+ 1839 .loc 1 786 0
+ 1840 0000 4022 movs r2, #64
+ 1841 0002 835A ldrh r3, [r0, r2]
+ 1842 0004 1021 movs r1, #16
+ 1843 0006 8B43 bics r3, r1
+ 1844 0008 8352 strh r3, [r0, r2]
+ 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1845 .loc 1 788 0
+ 1846 000a 0020 movs r0, #0
+ 1847 .LVL218:
+ 1848 @ sp needed
+ 1849 000c 7047 bx lr
+ 1850 .cfi_endproc
+ 1851 .LFE67:
+ 1853 .section .text.USB_WritePMA,"ax",%progbits
+ 1854 .align 1
+ 1855 .global USB_WritePMA
+ 1856 .syntax unified
+ 1857 .code 16
+ 1858 .thumb_func
+ 1859 .fpu softvfp
+ 1861 USB_WritePMA:
+ 1862 .LFB68:
+ 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Copy a buffer from user memory area to packet memory area (PMA)
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx USB peripheral instance register address.
+ 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param pbUsrBuf pointer to user memory area.
+ 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param wPMABufAddr address into PMA.
+ 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param wNBytes: no. of bytes to be copied.
+ 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval None
+ 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** void USB_WritePMA(USB_TypeDef *USBx, uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes)
+ 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1863 .loc 1 799 0
+ 1864 .cfi_startproc
+ 1865 @ args = 0, pretend = 0, frame = 0
+ 1866 @ frame_needed = 0, uses_anonymous_args = 0
+ 1867 .LVL219:
+ 1868 0000 10B5 push {r4, lr}
+ 1869 .LCFI6:
+ 1870 .cfi_def_cfa_offset 8
+ 1871 .cfi_offset 4, -8
+ 1872 .cfi_offset 14, -4
+ 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t n = ((uint32_t)wNBytes + 1U) >> 1;
+ 1873 .loc 1 800 0
+ 1874 0002 0133 adds r3, r3, #1
+ 1875 .LVL220:
+ 1876 0004 5B08 lsrs r3, r3, #1
+ 1877 .LVL221:
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t BaseAddr = (uint32_t)USBx;
+ 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t i, temp1, temp2;
+ ARM GAS /tmp/cc29f2cM.s page 48
+
+
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** __IO uint16_t *pdwVal;
+ 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint8_t *pBuf = pbUsrBuf;
+ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal = (__IO uint16_t *)(BaseAddr + 0x400U + ((uint32_t)wPMABufAddr * PMA_ACCESS));
+ 1878 .loc 1 806 0
+ 1879 0006 1218 adds r2, r2, r0
+ 1880 .LVL222:
+ 1881 0008 8020 movs r0, #128
+ 1882 .LVL223:
+ 1883 000a C000 lsls r0, r0, #3
+ 1884 000c 8446 mov ip, r0
+ 1885 000e 6244 add r2, r2, ip
+ 1886 .LVL224:
+ 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** for (i = n; i != 0U; i--)
+ 1887 .loc 1 808 0
+ 1888 0010 07E0 b .L86
+ 1889 .LVL225:
+ 1890 .L87:
+ 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** temp1 = *pBuf;
+ 1891 .loc 1 810 0 discriminator 3
+ 1892 0012 0878 ldrb r0, [r1]
+ 1893 .LVL226:
+ 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pBuf++;
+ 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** temp2 = temp1 | ((uint16_t)((uint16_t) *pBuf << 8));
+ 1894 .loc 1 812 0 discriminator 3
+ 1895 0014 4C78 ldrb r4, [r1, #1]
+ 1896 0016 2402 lsls r4, r4, #8
+ 1897 .LVL227:
+ 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *pdwVal = (uint16_t)temp2;
+ 1898 .loc 1 813 0 discriminator 3
+ 1899 0018 0443 orrs r4, r0
+ 1900 .LVL228:
+ 1901 001a 1480 strh r4, [r2]
+ 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal++;
+ 1902 .loc 1 814 0 discriminator 3
+ 1903 001c 0232 adds r2, r2, #2
+ 1904 .LVL229:
+ 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #if PMA_ACCESS > 1U
+ 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal++;
+ 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #endif
+ 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pBuf++;
+ 1905 .loc 1 820 0 discriminator 3
+ 1906 001e 0231 adds r1, r1, #2
+ 1907 .LVL230:
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1908 .loc 1 808 0 discriminator 3
+ 1909 0020 013B subs r3, r3, #1
+ 1910 .LVL231:
+ 1911 .L86:
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1912 .loc 1 808 0 is_stmt 0 discriminator 1
+ 1913 0022 002B cmp r3, #0
+ 1914 0024 F5D1 bne .L87
+ ARM GAS /tmp/cc29f2cM.s page 49
+
+
+ 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1915 .loc 1 822 0 is_stmt 1
+ 1916 @ sp needed
+ 1917 0026 10BD pop {r4, pc}
+ 1918 .cfi_endproc
+ 1919 .LFE68:
+ 1921 .section .text.USB_EPStartXfer,"ax",%progbits
+ 1922 .align 1
+ 1923 .global USB_EPStartXfer
+ 1924 .syntax unified
+ 1925 .code 16
+ 1926 .thumb_func
+ 1927 .fpu softvfp
+ 1929 USB_EPStartXfer:
+ 1930 .LFB50:
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t pmabuffer;
+ 1931 .loc 1 412 0
+ 1932 .cfi_startproc
+ 1933 @ args = 0, pretend = 0, frame = 0
+ 1934 @ frame_needed = 0, uses_anonymous_args = 0
+ 1935 .LVL232:
+ 1936 0000 70B5 push {r4, r5, r6, lr}
+ 1937 .LCFI7:
+ 1938 .cfi_def_cfa_offset 16
+ 1939 .cfi_offset 4, -16
+ 1940 .cfi_offset 5, -12
+ 1941 .cfi_offset 6, -8
+ 1942 .cfi_offset 14, -4
+ 1943 0002 0500 movs r5, r0
+ 1944 0004 0C00 movs r4, r1
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1945 .loc 1 417 0
+ 1946 0006 4978 ldrb r1, [r1, #1]
+ 1947 .LVL233:
+ 1948 0008 0129 cmp r1, #1
+ 1949 000a 2BD0 beq .L128
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1950 .loc 1 461 0
+ 1951 000c A269 ldr r2, [r4, #24]
+ 1952 000e 2369 ldr r3, [r4, #16]
+ 1953 0010 9A42 cmp r2, r3
+ 1954 0012 00D8 bhi .LCB1926
+ 1955 0014 D8E0 b .L110 @long jump
+ 1956 .LCB1926:
+ 1957 .LVL234:
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1958 .loc 1 464 0
+ 1959 0016 D21A subs r2, r2, r3
+ 1960 0018 A261 str r2, [r4, #24]
+ 1961 .L111:
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1962 .loc 1 473 0
+ 1963 001a 227B ldrb r2, [r4, #12]
+ 1964 001c 002A cmp r2, #0
+ 1965 001e 00D0 beq .LCB1936
+ 1966 0020 E9E0 b .L112 @long jump
+ ARM GAS /tmp/cc29f2cM.s page 50
+
+
+ 1967 .LCB1936:
+ 1968 .LVL235:
+ 1969 .LBB62:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1970 .loc 1 476 0
+ 1971 0022 5032 adds r2, r2, #80
+ 1972 0024 A95A ldrh r1, [r5, r2]
+ 1973 0026 6918 adds r1, r5, r1
+ 1974 .LVL236:
+ 1975 0028 2278 ldrb r2, [r4]
+ 1976 002a D200 lsls r2, r2, #3
+ 1977 002c 5218 adds r2, r2, r1
+ 1978 002e A049 ldr r1, .L130
+ 1979 .LVL237:
+ 1980 0030 8C46 mov ip, r1
+ 1981 0032 6244 add r2, r2, ip
+ 1982 .LVL238:
+ 1983 .LBB63:
+ 1984 0034 002B cmp r3, #0
+ 1985 0036 00D0 beq .LCB1955
+ 1986 0038 CAE0 b .L113 @long jump
+ 1987 .LCB1955:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1988 .loc 1 476 0 is_stmt 0 discriminator 1
+ 1989 003a 1388 ldrh r3, [r2]
+ 1990 .LVL239:
+ 1991 003c 9D49 ldr r1, .L130+4
+ 1992 003e 1940 ands r1, r3
+ 1993 0040 9D4B ldr r3, .L130+8
+ 1994 0042 0B43 orrs r3, r1
+ 1995 0044 1380 strh r3, [r2]
+ 1996 .LVL240:
+ 1997 .L114:
+ 1998 .LBE63:
+ 1999 .LBE62:
+ 2000 .LBB65:
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2001 .loc 1 484 0 is_stmt 1
+ 2002 0046 2378 ldrb r3, [r4]
+ 2003 0048 9B00 lsls r3, r3, #2
+ 2004 004a ED18 adds r5, r5, r3
+ 2005 .LVL241:
+ 2006 004c 2A88 ldrh r2, [r5]
+ 2007 004e 9B4B ldr r3, .L130+12
+ 2008 0050 1A40 ands r2, r3
+ 2009 .LVL242:
+ 2010 0052 C023 movs r3, #192
+ 2011 0054 9B01 lsls r3, r3, #6
+ 2012 0056 5A40 eors r2, r3
+ 2013 .LVL243:
+ 2014 0058 994B ldr r3, .L130+16
+ 2015 005a 1343 orrs r3, r2
+ 2016 005c 9BB2 uxth r3, r3
+ 2017 005e 2B80 strh r3, [r5]
+ 2018 .LVL244:
+ 2019 .L109:
+ 2020 .LBE65:
+ ARM GAS /tmp/cc29f2cM.s page 51
+
+
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 2021 .loc 1 488 0
+ 2022 0060 0020 movs r0, #0
+ 2023 @ sp needed
+ 2024 .LVL245:
+ 2025 0062 70BD pop {r4, r5, r6, pc}
+ 2026 .LVL246:
+ 2027 .L128:
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2028 .loc 1 420 0
+ 2029 0064 A269 ldr r2, [r4, #24]
+ 2030 0066 2369 ldr r3, [r4, #16]
+ 2031 0068 9A42 cmp r2, r3
+ 2032 006a 1DD9 bls .L90
+ 2033 .LVL247:
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2034 .loc 1 423 0
+ 2035 006c D21A subs r2, r2, r3
+ 2036 006e A261 str r2, [r4, #24]
+ 2037 .L91:
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2038 .loc 1 432 0
+ 2039 0070 227B ldrb r2, [r4, #12]
+ 2040 0072 002A cmp r2, #0
+ 2041 0074 1CD0 beq .L129
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2042 .loc 1 440 0
+ 2043 0076 2278 ldrb r2, [r4]
+ 2044 0078 9000 lsls r0, r2, #2
+ 2045 .LVL248:
+ 2046 007a 2818 adds r0, r5, r0
+ 2047 007c 0088 ldrh r0, [r0]
+ 2048 007e 4006 lsls r0, r0, #25
+ 2049 0080 64D5 bpl .L94
+ 2050 .LVL249:
+ 2051 .LBB66:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2052 .loc 1 443 0
+ 2053 0082 0029 cmp r1, #0
+ 2054 0084 39D1 bne .L95
+ 2055 .LVL250:
+ 2056 .LBB67:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2057 .loc 1 443 0 is_stmt 0 discriminator 1
+ 2058 0086 5031 adds r1, r1, #80
+ 2059 0088 695A ldrh r1, [r5, r1]
+ 2060 008a 6918 adds r1, r5, r1
+ 2061 .LVL251:
+ 2062 008c D200 lsls r2, r2, #3
+ 2063 008e 5218 adds r2, r2, r1
+ 2064 0090 8749 ldr r1, .L130
+ 2065 .LVL252:
+ 2066 0092 8C46 mov ip, r1
+ 2067 0094 6244 add r2, r2, ip
+ 2068 .LVL253:
+ 2069 .LBB68:
+ 2070 0096 002B cmp r3, #0
+ ARM GAS /tmp/cc29f2cM.s page 52
+
+
+ 2071 0098 1CD1 bne .L96
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2072 .loc 1 443 0 discriminator 3
+ 2073 009a 1188 ldrh r1, [r2]
+ 2074 009c 8548 ldr r0, .L130+4
+ 2075 009e 0840 ands r0, r1
+ 2076 00a0 8549 ldr r1, .L130+8
+ 2077 00a2 0143 orrs r1, r0
+ 2078 00a4 1180 strh r1, [r2]
+ 2079 00a6 31E0 b .L97
+ 2080 .LVL254:
+ 2081 .L90:
+ 2082 .LBE68:
+ 2083 .LBE67:
+ 2084 .LBE66:
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2085 .loc 1 428 0 is_stmt 1
+ 2086 00a8 0023 movs r3, #0
+ 2087 00aa A361 str r3, [r4, #24]
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len = 0U;
+ 2088 .loc 1 427 0
+ 2089 00ac 1300 movs r3, r2
+ 2090 00ae DFE7 b .L91
+ 2091 .LVL255:
+ 2092 .L129:
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_CNT(USBx, ep->num, len);
+ 2093 .loc 1 434 0
+ 2094 00b0 9EB2 uxth r6, r3
+ 2095 00b2 E288 ldrh r2, [r4, #6]
+ 2096 00b4 3300 movs r3, r6
+ 2097 .LVL256:
+ 2098 00b6 6169 ldr r1, [r4, #20]
+ 2099 00b8 2800 movs r0, r5
+ 2100 .LVL257:
+ 2101 00ba FFF7FEFF bl USB_WritePMA
+ 2102 .LVL258:
+ 2103 .LBB71:
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2104 .loc 1 435 0
+ 2105 00be 5023 movs r3, #80
+ 2106 00c0 EA5A ldrh r2, [r5, r3]
+ 2107 00c2 AA18 adds r2, r5, r2
+ 2108 .LVL259:
+ 2109 00c4 2378 ldrb r3, [r4]
+ 2110 00c6 DB00 lsls r3, r3, #3
+ 2111 00c8 9B18 adds r3, r3, r2
+ 2112 00ca 7E4A ldr r2, .L130+20
+ 2113 .LVL260:
+ 2114 00cc 9446 mov ip, r2
+ 2115 00ce 6344 add r3, r3, ip
+ 2116 .LVL261:
+ 2117 00d0 1E80 strh r6, [r3]
+ 2118 .LBE71:
+ 2119 00d2 2EE0 b .L93
+ 2120 .LVL262:
+ 2121 .L96:
+ 2122 .LBB72:
+ ARM GAS /tmp/cc29f2cM.s page 53
+
+
+ 2123 .LBB70:
+ 2124 .LBB69:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2125 .loc 1 443 0 discriminator 4
+ 2126 00d4 3E2B cmp r3, #62
+ 2127 00d6 06D8 bhi .L98
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2128 .loc 1 443 0 is_stmt 0 discriminator 5
+ 2129 00d8 5908 lsrs r1, r3, #1
+ 2130 .LVL263:
+ 2131 00da D807 lsls r0, r3, #31
+ 2132 00dc 00D5 bpl .L99
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2133 .loc 1 443 0 discriminator 7
+ 2134 00de 0131 adds r1, r1, #1
+ 2135 .LVL264:
+ 2136 .L99:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2137 .loc 1 443 0 discriminator 9
+ 2138 00e0 8902 lsls r1, r1, #10
+ 2139 .LVL265:
+ 2140 00e2 1180 strh r1, [r2]
+ 2141 00e4 12E0 b .L97
+ 2142 .L98:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2143 .loc 1 443 0 discriminator 6
+ 2144 00e6 5909 lsrs r1, r3, #5
+ 2145 .LVL266:
+ 2146 00e8 D806 lsls r0, r3, #27
+ 2147 00ea 00D1 bne .L100
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2148 .loc 1 443 0 discriminator 10
+ 2149 00ec 0139 subs r1, r1, #1
+ 2150 .LVL267:
+ 2151 .L100:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2152 .loc 1 443 0 discriminator 12
+ 2153 00ee 8902 lsls r1, r1, #10
+ 2154 .LVL268:
+ 2155 00f0 89B2 uxth r1, r1
+ 2156 00f2 7148 ldr r0, .L130+8
+ 2157 00f4 0143 orrs r1, r0
+ 2158 00f6 1180 strh r1, [r2]
+ 2159 00f8 08E0 b .L97
+ 2160 .LVL269:
+ 2161 .L95:
+ 2162 .LBE69:
+ 2163 .LBE70:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2164 .loc 1 443 0 discriminator 13
+ 2165 00fa 5021 movs r1, #80
+ 2166 00fc 695A ldrh r1, [r5, r1]
+ 2167 00fe 6918 adds r1, r5, r1
+ 2168 .LVL270:
+ 2169 0100 D200 lsls r2, r2, #3
+ 2170 0102 5218 adds r2, r2, r1
+ 2171 0104 6A49 ldr r1, .L130
+ ARM GAS /tmp/cc29f2cM.s page 54
+
+
+ 2172 .LVL271:
+ 2173 0106 8C46 mov ip, r1
+ 2174 0108 6244 add r2, r2, ip
+ 2175 .LVL272:
+ 2176 010a 1380 strh r3, [r2]
+ 2177 .LVL273:
+ 2178 .L97:
+ 2179 .LBE72:
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2180 .loc 1 444 0 is_stmt 1
+ 2181 010c 6289 ldrh r2, [r4, #10]
+ 2182 .LVL274:
+ 2183 .L101:
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_FreeUserBuffer(USBx, ep->num, ep->is_in);
+ 2184 .loc 1 452 0
+ 2185 010e 9BB2 uxth r3, r3
+ 2186 .LVL275:
+ 2187 0110 6169 ldr r1, [r4, #20]
+ 2188 0112 2800 movs r0, r5
+ 2189 0114 FFF7FEFF bl USB_WritePMA
+ 2190 .LVL276:
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2191 .loc 1 453 0
+ 2192 0118 6378 ldrb r3, [r4, #1]
+ 2193 011a 002B cmp r3, #0
+ 2194 011c 47D1 bne .L108
+ 2195 .LBB73:
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2196 .loc 1 453 0 is_stmt 0 discriminator 1
+ 2197 011e 2378 ldrb r3, [r4]
+ 2198 0120 9B00 lsls r3, r3, #2
+ 2199 0122 EB18 adds r3, r5, r3
+ 2200 0124 1A88 ldrh r2, [r3]
+ 2201 0126 6849 ldr r1, .L130+24
+ 2202 0128 1140 ands r1, r2
+ 2203 .LVL277:
+ 2204 012a 684A ldr r2, .L130+28
+ 2205 012c 0A43 orrs r2, r1
+ 2206 012e 92B2 uxth r2, r2
+ 2207 0130 1A80 strh r2, [r3]
+ 2208 .LVL278:
+ 2209 .L93:
+ 2210 .LBE73:
+ 2211 .LBB74:
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2212 .loc 1 456 0 is_stmt 1
+ 2213 0132 2378 ldrb r3, [r4]
+ 2214 0134 9B00 lsls r3, r3, #2
+ 2215 0136 ED18 adds r5, r5, r3
+ 2216 .LVL279:
+ 2217 0138 2B88 ldrh r3, [r5]
+ 2218 013a 654A ldr r2, .L130+32
+ 2219 013c 1340 ands r3, r2
+ 2220 .LVL280:
+ 2221 013e 3022 movs r2, #48
+ 2222 0140 5A40 eors r2, r3
+ 2223 .LVL281:
+ ARM GAS /tmp/cc29f2cM.s page 55
+
+
+ 2224 0142 5F4B ldr r3, .L130+16
+ 2225 0144 1343 orrs r3, r2
+ 2226 0146 9BB2 uxth r3, r3
+ 2227 0148 2B80 strh r3, [r5]
+ 2228 .LBE74:
+ 2229 014a 89E7 b .L109
+ 2230 .LVL282:
+ 2231 .L94:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2232 .loc 1 449 0
+ 2233 014c 0029 cmp r1, #0
+ 2234 014e 23D1 bne .L102
+ 2235 .LVL283:
+ 2236 .LBB75:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2237 .loc 1 449 0 is_stmt 0 discriminator 1
+ 2238 0150 5031 adds r1, r1, #80
+ 2239 0152 695A ldrh r1, [r5, r1]
+ 2240 0154 6918 adds r1, r5, r1
+ 2241 .LVL284:
+ 2242 0156 D200 lsls r2, r2, #3
+ 2243 0158 5218 adds r2, r2, r1
+ 2244 015a 5A49 ldr r1, .L130+20
+ 2245 .LVL285:
+ 2246 015c 8C46 mov ip, r1
+ 2247 015e 6244 add r2, r2, ip
+ 2248 .LVL286:
+ 2249 .LBB76:
+ 2250 0160 002B cmp r3, #0
+ 2251 0162 06D1 bne .L103
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2252 .loc 1 449 0 discriminator 3
+ 2253 0164 1188 ldrh r1, [r2]
+ 2254 0166 5348 ldr r0, .L130+4
+ 2255 0168 0840 ands r0, r1
+ 2256 016a 5349 ldr r1, .L130+8
+ 2257 016c 0143 orrs r1, r0
+ 2258 016e 1180 strh r1, [r2]
+ 2259 0170 1BE0 b .L104
+ 2260 .L103:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2261 .loc 1 449 0 discriminator 4
+ 2262 0172 3E2B cmp r3, #62
+ 2263 0174 06D8 bhi .L105
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2264 .loc 1 449 0 discriminator 5
+ 2265 0176 5908 lsrs r1, r3, #1
+ 2266 .LVL287:
+ 2267 0178 D807 lsls r0, r3, #31
+ 2268 017a 00D5 bpl .L106
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2269 .loc 1 449 0 discriminator 7
+ 2270 017c 0131 adds r1, r1, #1
+ 2271 .LVL288:
+ 2272 .L106:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2273 .loc 1 449 0 discriminator 9
+ ARM GAS /tmp/cc29f2cM.s page 56
+
+
+ 2274 017e 8902 lsls r1, r1, #10
+ 2275 .LVL289:
+ 2276 0180 1180 strh r1, [r2]
+ 2277 0182 12E0 b .L104
+ 2278 .L105:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2279 .loc 1 449 0 discriminator 6
+ 2280 0184 5909 lsrs r1, r3, #5
+ 2281 .LVL290:
+ 2282 0186 D806 lsls r0, r3, #27
+ 2283 0188 00D1 bne .L107
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2284 .loc 1 449 0 discriminator 10
+ 2285 018a 0139 subs r1, r1, #1
+ 2286 .LVL291:
+ 2287 .L107:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2288 .loc 1 449 0 discriminator 12
+ 2289 018c 8902 lsls r1, r1, #10
+ 2290 .LVL292:
+ 2291 018e 89B2 uxth r1, r1
+ 2292 0190 4948 ldr r0, .L130+8
+ 2293 0192 0143 orrs r1, r0
+ 2294 0194 1180 strh r1, [r2]
+ 2295 0196 08E0 b .L104
+ 2296 .LVL293:
+ 2297 .L102:
+ 2298 .LBE76:
+ 2299 .LBE75:
+ 2300 .LBB77:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2301 .loc 1 449 0 discriminator 13
+ 2302 0198 5021 movs r1, #80
+ 2303 019a 695A ldrh r1, [r5, r1]
+ 2304 019c 6918 adds r1, r5, r1
+ 2305 .LVL294:
+ 2306 019e D200 lsls r2, r2, #3
+ 2307 01a0 5218 adds r2, r2, r1
+ 2308 01a2 4849 ldr r1, .L130+20
+ 2309 .LVL295:
+ 2310 01a4 8C46 mov ip, r1
+ 2311 01a6 6244 add r2, r2, ip
+ 2312 .LVL296:
+ 2313 01a8 1380 strh r3, [r2]
+ 2314 .LVL297:
+ 2315 .L104:
+ 2316 .LBE77:
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2317 .loc 1 450 0 is_stmt 1
+ 2318 01aa 2289 ldrh r2, [r4, #8]
+ 2319 .LVL298:
+ 2320 01ac AFE7 b .L101
+ 2321 .LVL299:
+ 2322 .L108:
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2323 .loc 1 453 0 discriminator 2
+ 2324 01ae 012B cmp r3, #1
+ ARM GAS /tmp/cc29f2cM.s page 57
+
+
+ 2325 01b0 BFD1 bne .L93
+ 2326 .LBB78:
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2327 .loc 1 453 0 is_stmt 0 discriminator 3
+ 2328 01b2 2378 ldrb r3, [r4]
+ 2329 01b4 9B00 lsls r3, r3, #2
+ 2330 01b6 EB18 adds r3, r5, r3
+ 2331 01b8 1A88 ldrh r2, [r3]
+ 2332 01ba 4349 ldr r1, .L130+24
+ 2333 01bc 1140 ands r1, r2
+ 2334 .LVL300:
+ 2335 01be 454A ldr r2, .L130+36
+ 2336 01c0 0A43 orrs r2, r1
+ 2337 01c2 92B2 uxth r2, r2
+ 2338 01c4 1A80 strh r2, [r3]
+ 2339 01c6 B4E7 b .L93
+ 2340 .LVL301:
+ 2341 .L110:
+ 2342 .LBE78:
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2343 .loc 1 469 0 is_stmt 1
+ 2344 01c8 0023 movs r3, #0
+ 2345 01ca A361 str r3, [r4, #24]
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len = 0U;
+ 2346 .loc 1 468 0
+ 2347 01cc 1300 movs r3, r2
+ 2348 01ce 24E7 b .L111
+ 2349 .LVL302:
+ 2350 .L113:
+ 2351 .LBB79:
+ 2352 .LBB64:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2353 .loc 1 476 0 discriminator 2
+ 2354 01d0 3E2B cmp r3, #62
+ 2355 01d2 06D8 bhi .L115
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2356 .loc 1 476 0 is_stmt 0 discriminator 3
+ 2357 01d4 5908 lsrs r1, r3, #1
+ 2358 .LVL303:
+ 2359 01d6 DB07 lsls r3, r3, #31
+ 2360 01d8 00D5 bpl .L116
+ 2361 .LVL304:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2362 .loc 1 476 0 discriminator 5
+ 2363 01da 0131 adds r1, r1, #1
+ 2364 .LVL305:
+ 2365 .L116:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2366 .loc 1 476 0 discriminator 7
+ 2367 01dc 8902 lsls r1, r1, #10
+ 2368 .LVL306:
+ 2369 01de 1180 strh r1, [r2]
+ 2370 01e0 31E7 b .L114
+ 2371 .LVL307:
+ 2372 .L115:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2373 .loc 1 476 0 discriminator 4
+ ARM GAS /tmp/cc29f2cM.s page 58
+
+
+ 2374 01e2 5909 lsrs r1, r3, #5
+ 2375 .LVL308:
+ 2376 01e4 DB06 lsls r3, r3, #27
+ 2377 01e6 00D1 bne .L117
+ 2378 .LVL309:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2379 .loc 1 476 0 discriminator 8
+ 2380 01e8 0139 subs r1, r1, #1
+ 2381 .LVL310:
+ 2382 .L117:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2383 .loc 1 476 0 discriminator 10
+ 2384 01ea 8902 lsls r1, r1, #10
+ 2385 .LVL311:
+ 2386 01ec 89B2 uxth r1, r1
+ 2387 01ee 324B ldr r3, .L130+8
+ 2388 01f0 1943 orrs r1, r3
+ 2389 01f2 1180 strh r1, [r2]
+ 2390 01f4 27E7 b .L114
+ 2391 .LVL312:
+ 2392 .L112:
+ 2393 .LBE64:
+ 2394 .LBE79:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2395 .loc 1 481 0 is_stmt 1
+ 2396 01f6 0029 cmp r1, #0
+ 2397 01f8 10D1 bne .L118
+ 2398 .LVL313:
+ 2399 .LBB80:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2400 .loc 1 481 0 is_stmt 0 discriminator 1
+ 2401 01fa 5022 movs r2, #80
+ 2402 01fc A95A ldrh r1, [r5, r2]
+ 2403 01fe 6918 adds r1, r5, r1
+ 2404 .LVL314:
+ 2405 0200 2278 ldrb r2, [r4]
+ 2406 0202 D200 lsls r2, r2, #3
+ 2407 0204 5218 adds r2, r2, r1
+ 2408 0206 2F49 ldr r1, .L130+20
+ 2409 .LVL315:
+ 2410 0208 8C46 mov ip, r1
+ 2411 020a 6244 add r2, r2, ip
+ 2412 .LVL316:
+ 2413 .LBB81:
+ 2414 020c 002B cmp r3, #0
+ 2415 020e 1AD1 bne .L119
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2416 .loc 1 481 0 discriminator 3
+ 2417 0210 1188 ldrh r1, [r2]
+ 2418 0212 2848 ldr r0, .L130+4
+ 2419 .LVL317:
+ 2420 0214 0840 ands r0, r1
+ 2421 0216 2849 ldr r1, .L130+8
+ 2422 0218 0143 orrs r1, r0
+ 2423 021a 1180 strh r1, [r2]
+ 2424 .LVL318:
+ 2425 .L118:
+ ARM GAS /tmp/cc29f2cM.s page 59
+
+
+ 2426 .LBE81:
+ 2427 .LBE80:
+ 2428 .LBB83:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2429 .loc 1 481 0 discriminator 15
+ 2430 021c 6278 ldrb r2, [r4, #1]
+ 2431 021e 002A cmp r2, #0
+ 2432 0220 37D1 bne .L123
+ 2433 .LVL319:
+ 2434 .LBB84:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2435 .loc 1 481 0 discriminator 16
+ 2436 0222 5032 adds r2, r2, #80
+ 2437 0224 A95A ldrh r1, [r5, r2]
+ 2438 0226 6918 adds r1, r5, r1
+ 2439 .LVL320:
+ 2440 0228 2278 ldrb r2, [r4]
+ 2441 022a D200 lsls r2, r2, #3
+ 2442 022c 5218 adds r2, r2, r1
+ 2443 022e 2049 ldr r1, .L130
+ 2444 .LVL321:
+ 2445 0230 8C46 mov ip, r1
+ 2446 0232 6244 add r2, r2, ip
+ 2447 .LVL322:
+ 2448 .LBB85:
+ 2449 0234 002B cmp r3, #0
+ 2450 0236 19D1 bne .L124
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2451 .loc 1 481 0 discriminator 18
+ 2452 0238 1388 ldrh r3, [r2]
+ 2453 .LVL323:
+ 2454 023a 1E49 ldr r1, .L130+4
+ 2455 023c 1940 ands r1, r3
+ 2456 023e 1E4B ldr r3, .L130+8
+ 2457 0240 0B43 orrs r3, r1
+ 2458 0242 1380 strh r3, [r2]
+ 2459 0244 FFE6 b .L114
+ 2460 .LVL324:
+ 2461 .L119:
+ 2462 .LBE85:
+ 2463 .LBE84:
+ 2464 .LBE83:
+ 2465 .LBB88:
+ 2466 .LBB82:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2467 .loc 1 481 0 discriminator 4
+ 2468 0246 3E2B cmp r3, #62
+ 2469 0248 06D8 bhi .L120
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2470 .loc 1 481 0 discriminator 5
+ 2471 024a 5908 lsrs r1, r3, #1
+ 2472 .LVL325:
+ 2473 024c D807 lsls r0, r3, #31
+ 2474 024e 00D5 bpl .L121
+ 2475 .LVL326:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2476 .loc 1 481 0 discriminator 7
+ ARM GAS /tmp/cc29f2cM.s page 60
+
+
+ 2477 0250 0131 adds r1, r1, #1
+ 2478 .LVL327:
+ 2479 .L121:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2480 .loc 1 481 0 discriminator 9
+ 2481 0252 8902 lsls r1, r1, #10
+ 2482 .LVL328:
+ 2483 0254 1180 strh r1, [r2]
+ 2484 0256 E1E7 b .L118
+ 2485 .LVL329:
+ 2486 .L120:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2487 .loc 1 481 0 discriminator 6
+ 2488 0258 5909 lsrs r1, r3, #5
+ 2489 .LVL330:
+ 2490 025a D806 lsls r0, r3, #27
+ 2491 025c 00D1 bne .L122
+ 2492 .LVL331:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2493 .loc 1 481 0 discriminator 10
+ 2494 025e 0139 subs r1, r1, #1
+ 2495 .LVL332:
+ 2496 .L122:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2497 .loc 1 481 0 discriminator 12
+ 2498 0260 8902 lsls r1, r1, #10
+ 2499 .LVL333:
+ 2500 0262 89B2 uxth r1, r1
+ 2501 0264 1448 ldr r0, .L130+8
+ 2502 0266 0143 orrs r1, r0
+ 2503 0268 1180 strh r1, [r2]
+ 2504 026a D7E7 b .L118
+ 2505 .LVL334:
+ 2506 .L124:
+ 2507 .LBE82:
+ 2508 .LBE88:
+ 2509 .LBB89:
+ 2510 .LBB87:
+ 2511 .LBB86:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2512 .loc 1 481 0 discriminator 19
+ 2513 026c 3E2B cmp r3, #62
+ 2514 026e 06D8 bhi .L125
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2515 .loc 1 481 0 discriminator 20
+ 2516 0270 5908 lsrs r1, r3, #1
+ 2517 .LVL335:
+ 2518 0272 DB07 lsls r3, r3, #31
+ 2519 0274 00D5 bpl .L126
+ 2520 .LVL336:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2521 .loc 1 481 0 discriminator 22
+ 2522 0276 0131 adds r1, r1, #1
+ 2523 .LVL337:
+ 2524 .L126:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2525 .loc 1 481 0 discriminator 24
+ ARM GAS /tmp/cc29f2cM.s page 61
+
+
+ 2526 0278 8902 lsls r1, r1, #10
+ 2527 .LVL338:
+ 2528 027a 1180 strh r1, [r2]
+ 2529 027c E3E6 b .L114
+ 2530 .LVL339:
+ 2531 .L125:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2532 .loc 1 481 0 discriminator 21
+ 2533 027e 5909 lsrs r1, r3, #5
+ 2534 .LVL340:
+ 2535 0280 DB06 lsls r3, r3, #27
+ 2536 0282 00D1 bne .L127
+ 2537 .LVL341:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2538 .loc 1 481 0 discriminator 25
+ 2539 0284 0139 subs r1, r1, #1
+ 2540 .LVL342:
+ 2541 .L127:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2542 .loc 1 481 0 discriminator 27
+ 2543 0286 8902 lsls r1, r1, #10
+ 2544 .LVL343:
+ 2545 0288 89B2 uxth r1, r1
+ 2546 028a 0B4B ldr r3, .L130+8
+ 2547 028c 1943 orrs r1, r3
+ 2548 028e 1180 strh r1, [r2]
+ 2549 0290 D9E6 b .L114
+ 2550 .LVL344:
+ 2551 .L123:
+ 2552 .LBE86:
+ 2553 .LBE87:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2554 .loc 1 481 0 discriminator 17
+ 2555 0292 012A cmp r2, #1
+ 2556 0294 00D0 beq .LCB2716
+ 2557 0296 D6E6 b .L114 @long jump
+ 2558 .LCB2716:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2559 .loc 1 481 0 discriminator 28
+ 2560 0298 4F32 adds r2, r2, #79
+ 2561 029a A95A ldrh r1, [r5, r2]
+ 2562 029c 6918 adds r1, r5, r1
+ 2563 .LVL345:
+ 2564 029e 2278 ldrb r2, [r4]
+ 2565 02a0 D200 lsls r2, r2, #3
+ 2566 02a2 5218 adds r2, r2, r1
+ 2567 02a4 0249 ldr r1, .L130
+ 2568 .LVL346:
+ 2569 02a6 8C46 mov ip, r1
+ 2570 02a8 6244 add r2, r2, ip
+ 2571 .LVL347:
+ 2572 02aa 1380 strh r3, [r2]
+ 2573 02ac CBE6 b .L114
+ 2574 .L131:
+ 2575 02ae C046 .align 2
+ 2576 .L130:
+ 2577 02b0 06040000 .word 1030
+ ARM GAS /tmp/cc29f2cM.s page 62
+
+
+ 2578 02b4 FF83FFFF .word -31745
+ 2579 02b8 0080FFFF .word -32768
+ 2580 02bc 8FBFFFFF .word -16497
+ 2581 02c0 8080FFFF .word -32640
+ 2582 02c4 02040000 .word 1026
+ 2583 02c8 8F8FFFFF .word -28785
+ 2584 02cc C080FFFF .word -32576
+ 2585 02d0 BF8FFFFF .word -28737
+ 2586 02d4 80C0FFFF .word -16256
+ 2587 .LBE89:
+ 2588 .cfi_endproc
+ 2589 .LFE50:
+ 2591 .section .text.USB_ReadPMA,"ax",%progbits
+ 2592 .align 1
+ 2593 .global USB_ReadPMA
+ 2594 .syntax unified
+ 2595 .code 16
+ 2596 .thumb_func
+ 2597 .fpu softvfp
+ 2599 USB_ReadPMA:
+ 2600 .LFB69:
+ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Copy a buffer from user memory area to packet memory area (PMA)
+ 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx: USB peripheral instance register address.
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param pbUsrBuf pointer to user memory area.
+ 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param wPMABufAddr address into PMA.
+ 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param wNBytes: no. of bytes to be copied.
+ 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval None
+ 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** void USB_ReadPMA(USB_TypeDef *USBx, uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes)
+ 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2601 .loc 1 833 0 is_stmt 1
+ 2602 .cfi_startproc
+ 2603 @ args = 0, pretend = 0, frame = 0
+ 2604 @ frame_needed = 0, uses_anonymous_args = 0
+ 2605 .LVL348:
+ 2606 0000 30B5 push {r4, r5, lr}
+ 2607 .LCFI8:
+ 2608 .cfi_def_cfa_offset 12
+ 2609 .cfi_offset 4, -12
+ 2610 .cfi_offset 5, -8
+ 2611 .cfi_offset 14, -4
+ 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t n = (uint32_t)wNBytes >> 1;
+ 2612 .loc 1 834 0
+ 2613 0002 5D08 lsrs r5, r3, #1
+ 2614 .LVL349:
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t BaseAddr = (uint32_t)USBx;
+ 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t i, temp;
+ 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** __IO uint16_t *pdwVal;
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint8_t *pBuf = pbUsrBuf;
+ 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal = (__IO uint16_t *)(BaseAddr + 0x400U + ((uint32_t)wPMABufAddr * PMA_ACCESS));
+ 2615 .loc 1 840 0
+ 2616 0004 1218 adds r2, r2, r0
+ 2617 .LVL350:
+ 2618 0006 8020 movs r0, #128
+ ARM GAS /tmp/cc29f2cM.s page 63
+
+
+ 2619 .LVL351:
+ 2620 0008 C000 lsls r0, r0, #3
+ 2621 000a 8446 mov ip, r0
+ 2622 000c 6244 add r2, r2, ip
+ 2623 .LVL352:
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** for (i = n; i != 0U; i--)
+ 2624 .loc 1 842 0
+ 2625 000e 07E0 b .L133
+ 2626 .LVL353:
+ 2627 .L134:
+ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** temp = *(__IO uint16_t *)pdwVal;
+ 2628 .loc 1 844 0 discriminator 3
+ 2629 0010 1488 ldrh r4, [r2]
+ 2630 0012 A4B2 uxth r4, r4
+ 2631 .LVL354:
+ 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal++;
+ 2632 .loc 1 845 0 discriminator 3
+ 2633 0014 0232 adds r2, r2, #2
+ 2634 .LVL355:
+ 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *pBuf = (uint8_t)((temp >> 0) & 0xFFU);
+ 2635 .loc 1 846 0 discriminator 3
+ 2636 0016 0C70 strb r4, [r1]
+ 2637 .LVL356:
+ 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pBuf++;
+ 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *pBuf = (uint8_t)((temp >> 8) & 0xFFU);
+ 2638 .loc 1 848 0 discriminator 3
+ 2639 0018 240A lsrs r4, r4, #8
+ 2640 .LVL357:
+ 2641 001a 4C70 strb r4, [r1, #1]
+ 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pBuf++;
+ 2642 .loc 1 849 0 discriminator 3
+ 2643 001c 0231 adds r1, r1, #2
+ 2644 .LVL358:
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2645 .loc 1 842 0 discriminator 3
+ 2646 001e 013D subs r5, r5, #1
+ 2647 .LVL359:
+ 2648 .L133:
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2649 .loc 1 842 0 is_stmt 0 discriminator 1
+ 2650 0020 002D cmp r5, #0
+ 2651 0022 F5D1 bne .L134
+ 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #if PMA_ACCESS > 1U
+ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal++;
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #endif
+ 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if ((wNBytes % 2U) != 0U)
+ 2652 .loc 1 856 0 is_stmt 1
+ 2653 0024 DB07 lsls r3, r3, #31
+ 2654 0026 01D5 bpl .L132
+ 2655 .LVL360:
+ 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** temp = *pdwVal;
+ ARM GAS /tmp/cc29f2cM.s page 64
+
+
+ 2656 .loc 1 858 0
+ 2657 0028 1388 ldrh r3, [r2]
+ 2658 .LVL361:
+ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *pBuf = (uint8_t)((temp >> 0) & 0xFFU);
+ 2659 .loc 1 859 0
+ 2660 002a 0B70 strb r3, [r1]
+ 2661 .LVL362:
+ 2662 .L132:
+ 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2663 .loc 1 861 0
+ 2664 @ sp needed
+ 2665 .LVL363:
+ 2666 002c 30BD pop {r4, r5, pc}
+ 2667 .cfi_endproc
+ 2668 .LFE69:
+ 2670 .text
+ 2671 .Letext0:
+ 2672 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin
+ 2673 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s
+ 2674 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 2675 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 2676 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 2677 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h"
+ 2678 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/cc29f2cM.s page 65
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_ll_usb.c
+ /tmp/cc29f2cM.s:16 .text.USB_CoreInit:0000000000000000 $t
+ /tmp/cc29f2cM.s:23 .text.USB_CoreInit:0000000000000000 USB_CoreInit
+ /tmp/cc29f2cM.s:48 .text.USB_EnableGlobalInt:0000000000000000 $t
+ /tmp/cc29f2cM.s:55 .text.USB_EnableGlobalInt:0000000000000000 USB_EnableGlobalInt
+ /tmp/cc29f2cM.s:78 .text.USB_EnableGlobalInt:0000000000000010 $d
+ /tmp/cc29f2cM.s:83 .text.USB_DisableGlobalInt:0000000000000000 $t
+ /tmp/cc29f2cM.s:90 .text.USB_DisableGlobalInt:0000000000000000 USB_DisableGlobalInt
+ /tmp/cc29f2cM.s:112 .text.USB_DisableGlobalInt:0000000000000010 $d
+ /tmp/cc29f2cM.s:117 .text.USB_SetCurrentMode:0000000000000000 $t
+ /tmp/cc29f2cM.s:124 .text.USB_SetCurrentMode:0000000000000000 USB_SetCurrentMode
+ /tmp/cc29f2cM.s:141 .text.USB_DevInit:0000000000000000 $t
+ /tmp/cc29f2cM.s:148 .text.USB_DevInit:0000000000000000 USB_DevInit
+ /tmp/cc29f2cM.s:193 .text.USB_SetDevSpeed:0000000000000000 $t
+ /tmp/cc29f2cM.s:200 .text.USB_SetDevSpeed:0000000000000000 USB_SetDevSpeed
+ /tmp/cc29f2cM.s:217 .text.USB_FlushTxFifo:0000000000000000 $t
+ /tmp/cc29f2cM.s:224 .text.USB_FlushTxFifo:0000000000000000 USB_FlushTxFifo
+ /tmp/cc29f2cM.s:241 .text.USB_FlushRxFifo:0000000000000000 $t
+ /tmp/cc29f2cM.s:248 .text.USB_FlushRxFifo:0000000000000000 USB_FlushRxFifo
+ /tmp/cc29f2cM.s:265 .text.USB_ActivateEndpoint:0000000000000000 $t
+ /tmp/cc29f2cM.s:272 .text.USB_ActivateEndpoint:0000000000000000 USB_ActivateEndpoint
+ /tmp/cc29f2cM.s:891 .text.USB_ActivateEndpoint:00000000000002d0 $d
+ /tmp/cc29f2cM.s:908 .text.USB_DeactivateEndpoint:0000000000000000 $t
+ /tmp/cc29f2cM.s:915 .text.USB_DeactivateEndpoint:0000000000000000 USB_DeactivateEndpoint
+ /tmp/cc29f2cM.s:1220 .text.USB_DeactivateEndpoint:0000000000000158 $d
+ /tmp/cc29f2cM.s:1231 .text.USB_WritePacket:0000000000000000 $t
+ /tmp/cc29f2cM.s:1238 .text.USB_WritePacket:0000000000000000 USB_WritePacket
+ /tmp/cc29f2cM.s:1255 .text.USB_ReadPacket:0000000000000000 $t
+ /tmp/cc29f2cM.s:1262 .text.USB_ReadPacket:0000000000000000 USB_ReadPacket
+ /tmp/cc29f2cM.s:1279 .text.USB_EPSetStall:0000000000000000 $t
+ /tmp/cc29f2cM.s:1286 .text.USB_EPSetStall:0000000000000000 USB_EPSetStall
+ /tmp/cc29f2cM.s:1347 .text.USB_EPSetStall:0000000000000040 $d
+ /tmp/cc29f2cM.s:1354 .text.USB_EPClearStall:0000000000000000 $t
+ /tmp/cc29f2cM.s:1361 .text.USB_EPClearStall:0000000000000000 USB_EPClearStall
+ /tmp/cc29f2cM.s:1482 .text.USB_EPClearStall:0000000000000080 $d
+ /tmp/cc29f2cM.s:1492 .text.USB_StopDevice:0000000000000000 $t
+ /tmp/cc29f2cM.s:1499 .text.USB_StopDevice:0000000000000000 USB_StopDevice
+ /tmp/cc29f2cM.s:1527 .text.USB_SetDevAddress:0000000000000000 $t
+ /tmp/cc29f2cM.s:1534 .text.USB_SetDevAddress:0000000000000000 USB_SetDevAddress
+ /tmp/cc29f2cM.s:1559 .text.USB_DevConnect:0000000000000000 $t
+ /tmp/cc29f2cM.s:1566 .text.USB_DevConnect:0000000000000000 USB_DevConnect
+ /tmp/cc29f2cM.s:1589 .text.USB_DevConnect:0000000000000010 $d
+ /tmp/cc29f2cM.s:1594 .text.USB_DevDisconnect:0000000000000000 $t
+ /tmp/cc29f2cM.s:1601 .text.USB_DevDisconnect:0000000000000000 USB_DevDisconnect
+ /tmp/cc29f2cM.s:1624 .text.USB_ReadInterrupts:0000000000000000 $t
+ /tmp/cc29f2cM.s:1631 .text.USB_ReadInterrupts:0000000000000000 USB_ReadInterrupts
+ /tmp/cc29f2cM.s:1652 .text.USB_ReadDevAllOutEpInterrupt:0000000000000000 $t
+ /tmp/cc29f2cM.s:1659 .text.USB_ReadDevAllOutEpInterrupt:0000000000000000 USB_ReadDevAllOutEpInterrupt
+ /tmp/cc29f2cM.s:1676 .text.USB_ReadDevAllInEpInterrupt:0000000000000000 $t
+ /tmp/cc29f2cM.s:1683 .text.USB_ReadDevAllInEpInterrupt:0000000000000000 USB_ReadDevAllInEpInterrupt
+ /tmp/cc29f2cM.s:1700 .text.USB_ReadDevOutEPInterrupt:0000000000000000 $t
+ /tmp/cc29f2cM.s:1707 .text.USB_ReadDevOutEPInterrupt:0000000000000000 USB_ReadDevOutEPInterrupt
+ /tmp/cc29f2cM.s:1724 .text.USB_ReadDevInEPInterrupt:0000000000000000 $t
+ /tmp/cc29f2cM.s:1731 .text.USB_ReadDevInEPInterrupt:0000000000000000 USB_ReadDevInEPInterrupt
+ /tmp/cc29f2cM.s:1748 .text.USB_ClearInterrupts:0000000000000000 $t
+ /tmp/cc29f2cM.s:1755 .text.USB_ClearInterrupts:0000000000000000 USB_ClearInterrupts
+ ARM GAS /tmp/cc29f2cM.s page 66
+
+
+ /tmp/cc29f2cM.s:1770 .text.USB_EP0_OutStart:0000000000000000 $t
+ /tmp/cc29f2cM.s:1777 .text.USB_EP0_OutStart:0000000000000000 USB_EP0_OutStart
+ /tmp/cc29f2cM.s:1794 .text.USB_ActivateRemoteWakeup:0000000000000000 $t
+ /tmp/cc29f2cM.s:1801 .text.USB_ActivateRemoteWakeup:0000000000000000 USB_ActivateRemoteWakeup
+ /tmp/cc29f2cM.s:1824 .text.USB_DeActivateRemoteWakeup:0000000000000000 $t
+ /tmp/cc29f2cM.s:1831 .text.USB_DeActivateRemoteWakeup:0000000000000000 USB_DeActivateRemoteWakeup
+ /tmp/cc29f2cM.s:1854 .text.USB_WritePMA:0000000000000000 $t
+ /tmp/cc29f2cM.s:1861 .text.USB_WritePMA:0000000000000000 USB_WritePMA
+ /tmp/cc29f2cM.s:1922 .text.USB_EPStartXfer:0000000000000000 $t
+ /tmp/cc29f2cM.s:1929 .text.USB_EPStartXfer:0000000000000000 USB_EPStartXfer
+ /tmp/cc29f2cM.s:2577 .text.USB_EPStartXfer:00000000000002b0 $d
+ /tmp/cc29f2cM.s:2592 .text.USB_ReadPMA:0000000000000000 $t
+ /tmp/cc29f2cM.s:2599 .text.USB_ReadPMA:0000000000000000 USB_ReadPMA
+
+NO UNDEFINED SYMBOLS