ARM GAS /tmp/ccqXYHEt.s page 1 1 .cpu cortex-m3 2 .arch armv7-m 3 .fpu softvfp 4 .eabi_attribute 20, 1 5 .eabi_attribute 21, 1 6 .eabi_attribute 23, 3 7 .eabi_attribute 24, 1 8 .eabi_attribute 25, 1 9 .eabi_attribute 26, 1 10 .eabi_attribute 30, 1 11 .eabi_attribute 34, 1 12 .eabi_attribute 18, 4 13 .file "stm32f1xx_hal_pcd_ex.c" 14 .text 15 .Ltext0: 16 .cfi_sections .debug_frame 17 .section .text.HAL_PCDEx_PMAConfig,"ax",%progbits 18 .align 1 19 .global HAL_PCDEx_PMAConfig 20 .syntax unified 21 .thumb 22 .thumb_func 24 HAL_PCDEx_PMAConfig: 25 .LVL0: 26 .LFB65: 27 .file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c" 1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** 2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ****************************************************************************** 3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @file stm32f1xx_hal_pcd_ex.c 4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @author MCD Application Team 5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver. 6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * functionalities of the USB Peripheral Controller: 8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * + Extended features functions 9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * 10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ****************************************************************************** 11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @attention 12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * 13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * Copyright (c) 2016 STMicroelectronics. 14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * All rights reserved. 15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * 16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * This software is licensed under terms that can be found in the LICENSE file 17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * in the root directory of this software component. 18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * 20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ****************************************************************************** 21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Includes ------------------------------------------------------------------*/ 24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #include "stm32f1xx_hal.h" 25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** @addtogroup STM32F1xx_HAL_Driver 27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @{ 28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** @defgroup PCDEx PCDEx 31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver ARM GAS /tmp/ccqXYHEt.s page 2 32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @{ 33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #ifdef HAL_PCD_MODULE_ENABLED 36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #if defined (USB) || defined (USB_OTG_FS) 38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Private types -------------------------------------------------------------*/ 39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Private variables ---------------------------------------------------------*/ 40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Private constants ---------------------------------------------------------*/ 41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Private macros ------------------------------------------------------------*/ 42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Private functions ---------------------------------------------------------*/ 43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Exported functions --------------------------------------------------------*/ 44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions PCDEx Exported Functions 46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @{ 47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions_Group1 Peripheral Control functions 50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief PCDEx control functions 51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * 52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** @verbatim 53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** =============================================================================== 54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ##### Extended features functions ##### 55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** =============================================================================== 56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** [..] This section provides functions allowing to: 57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** (+) Update FIFO configuration 58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** @endverbatim 60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @{ 61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #if defined (USB_OTG_FS) 63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** 64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Set Tx FIFO 65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd PCD handle 66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param fifo The number of Tx fifo 67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param size Fifo size 68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval HAL status 69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size) 71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** uint8_t i; 73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** uint32_t Tx_Offset; 74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* TXn min size = 16 words. (n : Transmit FIFO index) 76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** When a TxFIFO is not used, the Configuration should be as follows: 77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** case 1 : n > m and Txn is not used (n,m : Transmit FIFO indexes) 78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** --> Txm can use the space allocated for Txn. 79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** case2 : n < m and Txn is not used (n,m : Transmit FIFO indexes) 80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** --> Txn should be configured with the minimum space of 16 words 81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** The FIFO is used optimally when used TxFIFOs are allocated in the top 82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** of the FIFO.Ex: use EP1 and EP2 as IN instead of EP1 and EP3 as IN ones. 83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** When DMA is used 3n * FIFO locations should be reserved for internal DMA registers */ 84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** Tx_Offset = hpcd->Instance->GRXFSIZ; 86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** if (fifo == 0U) 88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { ARM GAS /tmp/ccqXYHEt.s page 3 89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** hpcd->Instance->DIEPTXF0_HNPTXFSIZ = ((uint32_t)size << 16) | Tx_Offset; 90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** else 92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** Tx_Offset += (hpcd->Instance->DIEPTXF0_HNPTXFSIZ) >> 16; 94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** for (i = 0U; i < (fifo - 1U); i++) 95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** Tx_Offset += (hpcd->Instance->DIEPTXF[i] >> 16); 97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Multiply Tx_Size by 2 to get higher performance */ 100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** hpcd->Instance->DIEPTXF[fifo - 1U] = ((uint32_t)size << 16) | Tx_Offset; 101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** return HAL_OK; 104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** 107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Set Rx FIFO 108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd PCD handle 109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param size Size of Rx fifo 110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval HAL status 111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size) 113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** hpcd->Instance->GRXFSIZ = size; 115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** return HAL_OK; 117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #endif /* defined (USB_OTG_FS) */ 119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #if defined (USB) 120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** 121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Configure PMA for EP 122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd Device instance 123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param ep_addr endpoint address 124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param ep_kind endpoint Kind 125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * USB_SNG_BUF: Single Buffer used 126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * USB_DBL_BUF: Double Buffer used 127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param pmaadress: EP address in The PMA: In case of single buffer endpoint 128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * this parameter is 16-bit value providing the address 129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * in PMA allocated to endpoint. 130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * In case of double buffer endpoint this parameter 131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * is a 32-bit value providing the endpoint buffer 0 address 132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * in the LSB part of 32-bit value and endpoint buffer 1 address 133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * in the MSB part of 32-bit value. 134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval HAL status 135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd, uint16_t ep_addr, 138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** uint16_t ep_kind, uint32_t pmaadress) 139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 28 .loc 1 139 1 view -0 29 .cfi_startproc 30 @ args = 0, pretend = 0, frame = 0 31 @ frame_needed = 0, uses_anonymous_args = 0 32 @ link register save eliminated. 140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** PCD_EPTypeDef *ep; ARM GAS /tmp/ccqXYHEt.s page 4 33 .loc 1 140 3 view .LVU1 141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* initialize ep structure*/ 143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** if ((0x80U & ep_addr) == 0x80U) 34 .loc 1 143 3 view .LVU2 35 .loc 1 143 6 is_stmt 0 view .LVU3 36 0000 11F0800F tst r1, #128 37 0004 0BD0 beq .L2 144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 38 .loc 1 145 5 is_stmt 1 view .LVU4 39 .loc 1 145 31 is_stmt 0 view .LVU5 40 0006 01F00701 and r1, r1, #7 41 .LVL1: 42 .loc 1 145 8 view .LVU6 43 000a 0131 adds r1, r1, #1 44 000c 01EB8101 add r1, r1, r1, lsl #2 45 0010 00EBC101 add r1, r0, r1, lsl #3 46 .LVL2: 47 .L3: 146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** else 148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep = &hpcd->OUT_ep[ep_addr]; 150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Here we check if the endpoint is single or double Buffer*/ 153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** if (ep_kind == PCD_SNG_BUF) 48 .loc 1 153 3 is_stmt 1 view .LVU7 49 .loc 1 153 6 is_stmt 0 view .LVU8 50 0014 52B9 cbnz r2, .L4 154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Single Buffer */ 156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->doublebuffer = 0U; 51 .loc 1 156 5 is_stmt 1 view .LVU9 52 .loc 1 156 22 is_stmt 0 view .LVU10 53 0016 0A73 strb r2, [r1, #12] 157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Configure the PMA */ 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->pmaadress = (uint16_t)pmaadress; 54 .loc 1 158 5 is_stmt 1 view .LVU11 55 .loc 1 158 19 is_stmt 0 view .LVU12 56 0018 CB80 strh r3, [r1, #6] @ movhi 57 .LVL3: 58 .L5: 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #if (USE_USB_DOUBLE_BUFFER == 1U) 161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** else /* USB_DBL_BUF */ 162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Double Buffer Endpoint */ 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->doublebuffer = 1U; 165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Configure the PMA */ 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->pmaaddr0 = (uint16_t)(pmaadress & 0xFFFFU); 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->pmaaddr1 = (uint16_t)((pmaadress & 0xFFFF0000U) >> 16); 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #endif /* (USE_USB_DOUBLE_BUFFER == 1U) */ 170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** return HAL_OK; ARM GAS /tmp/ccqXYHEt.s page 5 59 .loc 1 171 3 is_stmt 1 view .LVU13 172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 60 .loc 1 172 1 is_stmt 0 view .LVU14 61 001a 0020 movs r0, #0 62 .LVL4: 63 .loc 1 172 1 view .LVU15 64 001c 7047 bx lr 65 .LVL5: 66 .L2: 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 67 .loc 1 149 5 is_stmt 1 view .LVU16 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 68 .loc 1 149 8 is_stmt 0 view .LVU17 69 001e 01EB8101 add r1, r1, r1, lsl #2 70 .LVL6: 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 71 .loc 1 149 8 view .LVU18 72 0022 C900 lsls r1, r1, #3 73 0024 01F5B471 add r1, r1, #360 74 0028 0144 add r1, r1, r0 75 .LVL7: 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 76 .loc 1 149 8 view .LVU19 77 002a F3E7 b .L3 78 .L4: 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Configure the PMA */ 79 .loc 1 164 5 is_stmt 1 view .LVU20 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Configure the PMA */ 80 .loc 1 164 22 is_stmt 0 view .LVU21 81 002c 0122 movs r2, #1 82 .LVL8: 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Configure the PMA */ 83 .loc 1 164 22 view .LVU22 84 002e 0A73 strb r2, [r1, #12] 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->pmaaddr1 = (uint16_t)((pmaadress & 0xFFFF0000U) >> 16); 85 .loc 1 166 5 is_stmt 1 view .LVU23 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->pmaaddr1 = (uint16_t)((pmaadress & 0xFFFF0000U) >> 16); 86 .loc 1 166 18 is_stmt 0 view .LVU24 87 0030 0B81 strh r3, [r1, #8] @ movhi 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 88 .loc 1 167 5 is_stmt 1 view .LVU25 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 89 .loc 1 167 20 is_stmt 0 view .LVU26 90 0032 1B0C lsrs r3, r3, #16 91 .LVL9: 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 92 .loc 1 167 18 view .LVU27 93 0034 4B81 strh r3, [r1, #10] @ movhi 94 0036 F0E7 b .L5 95 .cfi_endproc 96 .LFE65: 98 .section .text.HAL_PCDEx_SetConnectionState,"ax",%progbits 99 .align 1 100 .weak HAL_PCDEx_SetConnectionState 101 .syntax unified 102 .thumb 103 .thumb_func ARM GAS /tmp/ccqXYHEt.s page 6 105 HAL_PCDEx_SetConnectionState: 106 .LVL10: 107 .LFB66: 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** 175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Software Device Connection, 176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * this function is not required by USB OTG FS peripheral, it is used 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * only by USB Device FS peripheral. 178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd PCD handle 179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param state connection state (0 : disconnected / 1: connected) 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval None 181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state) 183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 108 .loc 1 183 1 is_stmt 1 view -0 109 .cfi_startproc 110 @ args = 0, pretend = 0, frame = 0 111 @ frame_needed = 0, uses_anonymous_args = 0 112 @ link register save eliminated. 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */ 185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(hpcd); 113 .loc 1 185 3 view .LVU29 186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(state); 114 .loc 1 186 3 view .LVU30 187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* NOTE : This function Should not be modified, when the callback is needed, 188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** the HAL_PCDEx_SetConnectionState could be implemented in the user file 189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 115 .loc 1 190 1 is_stmt 0 view .LVU31 116 0000 7047 bx lr 117 .cfi_endproc 118 .LFE66: 120 .section .text.HAL_PCDEx_LPM_Callback,"ax",%progbits 121 .align 1 122 .weak HAL_PCDEx_LPM_Callback 123 .syntax unified 124 .thumb 125 .thumb_func 127 HAL_PCDEx_LPM_Callback: 128 .LVL11: 129 .LFB67: 191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #endif /* defined (USB) */ 192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Send LPM message to user layer callback. 195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd PCD handle 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param msg LPM message 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval HAL status 198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg) 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 130 .loc 1 200 1 is_stmt 1 view -0 131 .cfi_startproc 132 @ args = 0, pretend = 0, frame = 0 133 @ frame_needed = 0, uses_anonymous_args = 0 134 @ link register save eliminated. 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */ ARM GAS /tmp/ccqXYHEt.s page 7 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(hpcd); 135 .loc 1 202 3 view .LVU33 203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(msg); 136 .loc 1 203 3 view .LVU34 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, 206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** the HAL_PCDEx_LPM_Callback could be implemented in the user file 207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 137 .loc 1 208 1 is_stmt 0 view .LVU35 138 0000 7047 bx lr 139 .cfi_endproc 140 .LFE67: 142 .section .text.HAL_PCDEx_BCD_Callback,"ax",%progbits 143 .align 1 144 .weak HAL_PCDEx_BCD_Callback 145 .syntax unified 146 .thumb 147 .thumb_func 149 HAL_PCDEx_BCD_Callback: 150 .LVL12: 151 .LFB68: 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Send BatteryCharging message to user layer callback. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd PCD handle 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param msg LPM message 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval HAL status 215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg) 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** { 152 .loc 1 217 1 is_stmt 1 view -0 153 .cfi_startproc 154 @ args = 0, pretend = 0, frame = 0 155 @ frame_needed = 0, uses_anonymous_args = 0 156 @ link register save eliminated. 218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */ 219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(hpcd); 157 .loc 1 219 3 view .LVU37 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(msg); 158 .loc 1 220 3 view .LVU38 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** the HAL_PCDEx_BCD_Callback could be implemented in the user file 224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */ 225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** } 159 .loc 1 225 1 is_stmt 0 view .LVU39 160 0000 7047 bx lr 161 .cfi_endproc 162 .LFE68: 164 .text 165 .Letext0: 166 .file 2 "/opt/gcc-arm/arm-none-eabi/include/machine/_default_types.h" 167 .file 3 "/opt/gcc-arm/arm-none-eabi/include/sys/_stdint.h" 168 .file 4 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h" 169 .file 5 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h" 170 .file 6 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h" ARM GAS /tmp/ccqXYHEt.s page 8 171 .file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h" ARM GAS /tmp/ccqXYHEt.s page 9 DEFINED SYMBOLS *ABS*:0000000000000000 stm32f1xx_hal_pcd_ex.c /tmp/ccqXYHEt.s:18 .text.HAL_PCDEx_PMAConfig:0000000000000000 $t /tmp/ccqXYHEt.s:24 .text.HAL_PCDEx_PMAConfig:0000000000000000 HAL_PCDEx_PMAConfig /tmp/ccqXYHEt.s:99 .text.HAL_PCDEx_SetConnectionState:0000000000000000 $t /tmp/ccqXYHEt.s:105 .text.HAL_PCDEx_SetConnectionState:0000000000000000 HAL_PCDEx_SetConnectionState /tmp/ccqXYHEt.s:121 .text.HAL_PCDEx_LPM_Callback:0000000000000000 $t /tmp/ccqXYHEt.s:127 .text.HAL_PCDEx_LPM_Callback:0000000000000000 HAL_PCDEx_LPM_Callback /tmp/ccqXYHEt.s:143 .text.HAL_PCDEx_BCD_Callback:0000000000000000 $t /tmp/ccqXYHEt.s:149 .text.HAL_PCDEx_BCD_Callback:0000000000000000 HAL_PCDEx_BCD_Callback NO UNDEFINED SYMBOLS