ARM GAS /tmp/ccXnw0bT.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 1 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "stm32g4xx_hal_pcd_ex.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c" 20 .section .text.HAL_PCDEx_PMAConfig,"ax",%progbits 21 .align 1 22 .global HAL_PCDEx_PMAConfig 23 .syntax unified 24 .thumb 25 .thumb_func 27 HAL_PCDEx_PMAConfig: 28 .LVL0: 29 .LFB329: 1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** 2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ****************************************************************************** 3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @file stm32g4xx_hal_pcd_ex.c 4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @author MCD Application Team 5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver. 6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * functionalities of the USB Peripheral Controller: 8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * + Extended features functions 9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * 10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ****************************************************************************** 11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @attention 12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * 13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * Copyright (c) 2019 STMicroelectronics. 14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * All rights reserved. 15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * 16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * This software is licensed under terms that can be found in the LICENSE file 17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * in the root directory of this software component. 18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * 20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ****************************************************************************** 21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Includes ------------------------------------------------------------------*/ 24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #include "stm32g4xx_hal.h" 25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** @addtogroup STM32G4xx_HAL_Driver 27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @{ 28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ARM GAS /tmp/ccXnw0bT.s page 2 30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** @defgroup PCDEx PCDEx 31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver 32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @{ 33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #ifdef HAL_PCD_MODULE_ENABLED 36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #if defined (USB) 38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Private types -------------------------------------------------------------*/ 39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Private variables ---------------------------------------------------------*/ 40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Private constants ---------------------------------------------------------*/ 41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Private macros ------------------------------------------------------------*/ 42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Private functions ---------------------------------------------------------*/ 43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Exported functions --------------------------------------------------------*/ 44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions PCDEx Exported Functions 46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @{ 47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions_Group1 Peripheral Control functions 50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @brief PCDEx control functions 51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * 52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** @verbatim 53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** =============================================================================== 54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ##### Extended features functions ##### 55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** =============================================================================== 56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** [..] This section provides functions allowing to: 57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** (+) Update FIFO configuration 58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** @endverbatim 60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @{ 61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** 64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @brief Configure PMA for EP 65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param hpcd Device instance 66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param ep_addr endpoint address 67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param ep_kind endpoint Kind 68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * USB_SNG_BUF: Single Buffer used 69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * USB_DBL_BUF: Double Buffer used 70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param pmaadress: EP address in The PMA: In case of single buffer endpoint 71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * this parameter is 16-bit value providing the address 72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * in PMA allocated to endpoint. 73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * In case of double buffer endpoint this parameter 74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * is a 32-bit value providing the endpoint buffer 0 address 75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * in the LSB part of 32-bit value and endpoint buffer 1 address 76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * in the MSB part of 32-bit value. 77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @retval HAL status 78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd, uint16_t ep_addr, 81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** uint16_t ep_kind, uint32_t pmaadress) 82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 30 .loc 1 82 1 view -0 31 .cfi_startproc 32 @ args = 0, pretend = 0, frame = 0 33 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccXnw0bT.s page 3 34 @ link register save eliminated. 83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** PCD_EPTypeDef *ep; 35 .loc 1 83 3 view .LVU1 84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* initialize ep structure*/ 86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** if ((0x80U & ep_addr) == 0x80U) 36 .loc 1 86 3 view .LVU2 37 .loc 1 86 6 is_stmt 0 view .LVU3 38 0000 11F0800F tst r1, #128 39 0004 0BD0 beq .L2 87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 40 .loc 1 88 5 is_stmt 1 view .LVU4 41 .loc 1 88 31 is_stmt 0 view .LVU5 42 0006 01F00701 and r1, r1, #7 43 .LVL1: 44 .loc 1 88 8 view .LVU6 45 000a 0131 adds r1, r1, #1 46 000c 01EB8101 add r1, r1, r1, lsl #2 47 0010 00EBC100 add r0, r0, r1, lsl #3 48 .LVL2: 49 .L3: 89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** else 91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ep = &hpcd->OUT_ep[ep_addr]; 93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Here we check if the endpoint is single or double Buffer*/ 96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** if (ep_kind == PCD_SNG_BUF) 50 .loc 1 96 3 is_stmt 1 view .LVU7 51 .loc 1 96 6 is_stmt 0 view .LVU8 52 0014 52B9 cbnz r2, .L4 97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Single Buffer */ 99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ep->doublebuffer = 0U; 53 .loc 1 99 5 is_stmt 1 view .LVU9 54 .loc 1 99 22 is_stmt 0 view .LVU10 55 0016 0273 strb r2, [r0, #12] 100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Configure the PMA */ 101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ep->pmaadress = (uint16_t)pmaadress; 56 .loc 1 101 5 is_stmt 1 view .LVU11 57 .loc 1 101 19 is_stmt 0 view .LVU12 58 0018 C380 strh r3, [r0, #6] @ movhi 59 .LVL3: 60 .L5: 102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #if (USE_USB_DOUBLE_BUFFER == 1U) 104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** else /* USB_DBL_BUF */ 105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Double Buffer Endpoint */ 107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ep->doublebuffer = 1U; 108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Configure the PMA */ 109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ep->pmaaddr0 = (uint16_t)(pmaadress & 0xFFFFU); 110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ep->pmaaddr1 = (uint16_t)((pmaadress & 0xFFFF0000U) >> 16); 111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* (USE_USB_DOUBLE_BUFFER == 1U) */ ARM GAS /tmp/ccXnw0bT.s page 4 113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** return HAL_OK; 61 .loc 1 114 3 is_stmt 1 view .LVU13 115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 62 .loc 1 115 1 is_stmt 0 view .LVU14 63 001a 0020 movs r0, #0 64 .LVL4: 65 .loc 1 115 1 view .LVU15 66 001c 7047 bx lr 67 .LVL5: 68 .L2: 92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 69 .loc 1 92 5 is_stmt 1 view .LVU16 92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 70 .loc 1 92 8 is_stmt 0 view .LVU17 71 001e 01EB8101 add r1, r1, r1, lsl #2 72 .LVL6: 92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 73 .loc 1 92 8 view .LVU18 74 0022 C900 lsls r1, r1, #3 75 0024 01F5B471 add r1, r1, #360 76 0028 0844 add r0, r0, r1 77 .LVL7: 92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 78 .loc 1 92 8 view .LVU19 79 002a F3E7 b .L3 80 .L4: 107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Configure the PMA */ 81 .loc 1 107 5 is_stmt 1 view .LVU20 107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Configure the PMA */ 82 .loc 1 107 22 is_stmt 0 view .LVU21 83 002c 0122 movs r2, #1 84 .LVL8: 107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Configure the PMA */ 85 .loc 1 107 22 view .LVU22 86 002e 0273 strb r2, [r0, #12] 109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ep->pmaaddr1 = (uint16_t)((pmaadress & 0xFFFF0000U) >> 16); 87 .loc 1 109 5 is_stmt 1 view .LVU23 109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ep->pmaaddr1 = (uint16_t)((pmaadress & 0xFFFF0000U) >> 16); 88 .loc 1 109 18 is_stmt 0 view .LVU24 89 0030 0381 strh r3, [r0, #8] @ movhi 110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 90 .loc 1 110 5 is_stmt 1 view .LVU25 110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 91 .loc 1 110 20 is_stmt 0 view .LVU26 92 0032 1B0C lsrs r3, r3, #16 93 .LVL9: 110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 94 .loc 1 110 18 view .LVU27 95 0034 4381 strh r3, [r0, #10] @ movhi 96 0036 F0E7 b .L5 97 .cfi_endproc 98 .LFE329: 100 .section .text.HAL_PCDEx_ActivateBCD,"ax",%progbits 101 .align 1 102 .global HAL_PCDEx_ActivateBCD 103 .syntax unified ARM GAS /tmp/ccXnw0bT.s page 5 104 .thumb 105 .thumb_func 107 HAL_PCDEx_ActivateBCD: 108 .LVL10: 109 .LFB330: 116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** 118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @brief Activate BatteryCharging feature. 119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param hpcd PCD handle 120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @retval HAL status 121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_ActivateBCD(PCD_HandleTypeDef *hpcd) 123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 110 .loc 1 123 1 is_stmt 1 view -0 111 .cfi_startproc 112 @ args = 0, pretend = 0, frame = 0 113 @ frame_needed = 0, uses_anonymous_args = 0 114 @ link register save eliminated. 124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance; 115 .loc 1 124 3 view .LVU29 116 .loc 1 124 16 is_stmt 0 view .LVU30 117 0000 0368 ldr r3, [r0] 118 .LVL11: 125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** hpcd->battery_charging_active = 1U; 119 .loc 1 125 3 is_stmt 1 view .LVU31 120 .loc 1 125 33 is_stmt 0 view .LVU32 121 0002 0122 movs r2, #1 122 0004 C0F8EC22 str r2, [r0, #748] 126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Enable BCD feature */ 128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->BCDR |= USB_BCDR_BCDEN; 123 .loc 1 128 3 is_stmt 1 view .LVU33 124 .loc 1 128 7 is_stmt 0 view .LVU34 125 0008 B3F85820 ldrh r2, [r3, #88] 126 000c 92B2 uxth r2, r2 127 .loc 1 128 14 view .LVU35 128 000e 42F00102 orr r2, r2, #1 129 0012 A3F85820 strh r2, [r3, #88] @ movhi 129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Enable DCD : Data Contact Detect */ 131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->BCDR &= ~(USB_BCDR_PDEN); 130 .loc 1 131 3 is_stmt 1 view .LVU36 131 .loc 1 131 7 is_stmt 0 view .LVU37 132 0016 B3F85820 ldrh r2, [r3, #88] 133 001a 92B2 uxth r2, r2 134 .loc 1 131 14 view .LVU38 135 001c 22F00402 bic r2, r2, #4 136 0020 92B2 uxth r2, r2 137 0022 A3F85820 strh r2, [r3, #88] @ movhi 132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->BCDR &= ~(USB_BCDR_SDEN); 138 .loc 1 132 3 is_stmt 1 view .LVU39 139 .loc 1 132 7 is_stmt 0 view .LVU40 140 0026 B3F85820 ldrh r2, [r3, #88] 141 002a 92B2 uxth r2, r2 142 .loc 1 132 14 view .LVU41 143 002c 22F00802 bic r2, r2, #8 144 0030 92B2 uxth r2, r2 ARM GAS /tmp/ccXnw0bT.s page 6 145 0032 A3F85820 strh r2, [r3, #88] @ movhi 133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->BCDR |= USB_BCDR_DCDEN; 146 .loc 1 133 3 is_stmt 1 view .LVU42 147 .loc 1 133 7 is_stmt 0 view .LVU43 148 0036 B3F85820 ldrh r2, [r3, #88] 149 003a 92B2 uxth r2, r2 150 .loc 1 133 14 view .LVU44 151 003c 42F00202 orr r2, r2, #2 152 0040 A3F85820 strh r2, [r3, #88] @ movhi 134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** return HAL_OK; 153 .loc 1 135 3 is_stmt 1 view .LVU45 136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 154 .loc 1 136 1 is_stmt 0 view .LVU46 155 0044 0020 movs r0, #0 156 .LVL12: 157 .loc 1 136 1 view .LVU47 158 0046 7047 bx lr 159 .cfi_endproc 160 .LFE330: 162 .section .text.HAL_PCDEx_DeActivateBCD,"ax",%progbits 163 .align 1 164 .global HAL_PCDEx_DeActivateBCD 165 .syntax unified 166 .thumb 167 .thumb_func 169 HAL_PCDEx_DeActivateBCD: 170 .LVL13: 171 .LFB331: 137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** 139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @brief Deactivate BatteryCharging feature. 140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param hpcd PCD handle 141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @retval HAL status 142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_DeActivateBCD(PCD_HandleTypeDef *hpcd) 144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 172 .loc 1 144 1 is_stmt 1 view -0 173 .cfi_startproc 174 @ args = 0, pretend = 0, frame = 0 175 @ frame_needed = 0, uses_anonymous_args = 0 176 @ link register save eliminated. 177 .loc 1 144 1 is_stmt 0 view .LVU49 178 0000 0346 mov r3, r0 145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance; 179 .loc 1 145 3 is_stmt 1 view .LVU50 180 .loc 1 145 16 is_stmt 0 view .LVU51 181 0002 0268 ldr r2, [r0] 182 .LVL14: 146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** hpcd->battery_charging_active = 0U; 183 .loc 1 146 3 is_stmt 1 view .LVU52 184 .loc 1 146 33 is_stmt 0 view .LVU53 185 0004 0020 movs r0, #0 186 .LVL15: 187 .loc 1 146 33 view .LVU54 188 0006 C3F8EC02 str r0, [r3, #748] 147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ARM GAS /tmp/ccXnw0bT.s page 7 148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Disable BCD feature */ 149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->BCDR &= ~(USB_BCDR_BCDEN); 189 .loc 1 149 3 is_stmt 1 view .LVU55 190 .loc 1 149 7 is_stmt 0 view .LVU56 191 000a B2F85830 ldrh r3, [r2, #88] 192 .LVL16: 193 .loc 1 149 7 view .LVU57 194 000e 9BB2 uxth r3, r3 195 .loc 1 149 14 view .LVU58 196 0010 23F00103 bic r3, r3, #1 197 0014 9BB2 uxth r3, r3 198 0016 A2F85830 strh r3, [r2, #88] @ movhi 150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** return HAL_OK; 199 .loc 1 151 3 is_stmt 1 view .LVU59 152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 200 .loc 1 152 1 is_stmt 0 view .LVU60 201 001a 7047 bx lr 202 .cfi_endproc 203 .LFE331: 205 .section .text.HAL_PCDEx_ActivateLPM,"ax",%progbits 206 .align 1 207 .global HAL_PCDEx_ActivateLPM 208 .syntax unified 209 .thumb 210 .thumb_func 212 HAL_PCDEx_ActivateLPM: 213 .LVL17: 214 .LFB333: 153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** 155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @brief Handle BatteryCharging Process. 156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param hpcd PCD handle 157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @retval HAL status 158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** void HAL_PCDEx_BCD_VBUSDetect(PCD_HandleTypeDef *hpcd) 160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance; 162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** uint32_t tickstart = HAL_GetTick(); 163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Wait Detect flag or a timeout is happen */ 165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** while ((USBx->BCDR & USB_BCDR_DCDET) == 0U) 166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Check for the Timeout */ 168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** if ((HAL_GetTick() - tickstart) > 1000U) 169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_ERROR); 172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #else 173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_ERROR); 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** return; 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(200U); ARM GAS /tmp/ccXnw0bT.s page 8 181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Data Pin Contact ? Check Detect flag */ 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** if ((USBx->BCDR & USB_BCDR_DCDET) == USB_BCDR_DCDET) 184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_CONTACT_DETECTION); 187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #else 188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_CONTACT_DETECTION); 189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Primary detection: checks if connected to Standard Downstream Port 192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** (without charging capability) */ 193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->BCDR &= ~(USB_BCDR_DCDEN); 194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->BCDR |= (USB_BCDR_PDEN); 196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* If Charger detect ? */ 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** if ((USBx->BCDR & USB_BCDR_PDET) == USB_BCDR_PDET) 200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Start secondary detection to check connection to Charging Downstream 202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** Port or Dedicated Charging Port */ 203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->BCDR &= ~(USB_BCDR_PDEN); 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->BCDR |= (USB_BCDR_SDEN); 206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* If CDP ? */ 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** if ((USBx->BCDR & USB_BCDR_SDET) == USB_BCDR_SDET) 210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Dedicated Downstream Port DCP */ 212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_DEDICATED_CHARGING_PORT); 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #else 215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_DEDICATED_CHARGING_PORT); 216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** else 219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Charging Downstream Port CDP */ 221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_CHARGING_DOWNSTREAM_PORT); 223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #else 224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_CHARGING_DOWNSTREAM_PORT); 225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** else /* NO */ 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Standard Downstream Port */ 231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_STD_DOWNSTREAM_PORT); 233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #else 234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_STD_DOWNSTREAM_PORT); 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** ARM GAS /tmp/ccXnw0bT.s page 9 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Battery Charging capability discovery finished Start Enumeration */ 239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** (void)HAL_PCDEx_DeActivateBCD(hpcd); 240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_DISCOVERY_COMPLETED); 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #else 243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_DISCOVERY_COMPLETED); 244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** 249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @brief Activate LPM feature. 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param hpcd PCD handle 251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @retval HAL status 252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd) 254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 215 .loc 1 254 1 is_stmt 1 view -0 216 .cfi_startproc 217 @ args = 0, pretend = 0, frame = 0 218 @ frame_needed = 0, uses_anonymous_args = 0 219 @ link register save eliminated. 220 .loc 1 254 1 is_stmt 0 view .LVU62 221 0000 0346 mov r3, r0 255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance; 222 .loc 1 256 3 is_stmt 1 view .LVU63 223 .loc 1 256 16 is_stmt 0 view .LVU64 224 0002 0268 ldr r2, [r0] 225 .LVL18: 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** hpcd->lpm_active = 1U; 226 .loc 1 257 3 is_stmt 1 view .LVU65 227 .loc 1 257 20 is_stmt 0 view .LVU66 228 0004 0121 movs r1, #1 229 0006 C0F8E812 str r1, [r0, #744] 258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** hpcd->LPM_State = LPM_L0; 230 .loc 1 258 3 is_stmt 1 view .LVU67 231 .loc 1 258 19 is_stmt 0 view .LVU68 232 000a 0020 movs r0, #0 233 .LVL19: 234 .loc 1 258 19 view .LVU69 235 000c 83F8E002 strb r0, [r3, #736] 259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->LPMCSR |= USB_LPMCSR_LMPEN; 236 .loc 1 260 3 is_stmt 1 view .LVU70 237 .loc 1 260 7 is_stmt 0 view .LVU71 238 0010 B2F85430 ldrh r3, [r2, #84] 239 .LVL20: 240 .loc 1 260 7 view .LVU72 241 0014 9BB2 uxth r3, r3 242 .loc 1 260 16 view .LVU73 243 0016 0B43 orrs r3, r3, r1 244 0018 A2F85430 strh r3, [r2, #84] @ movhi 261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->LPMCSR |= USB_LPMCSR_LPMACK; 245 .loc 1 261 3 is_stmt 1 view .LVU74 246 .loc 1 261 7 is_stmt 0 view .LVU75 247 001c B2F85430 ldrh r3, [r2, #84] ARM GAS /tmp/ccXnw0bT.s page 10 248 0020 9BB2 uxth r3, r3 249 .loc 1 261 16 view .LVU76 250 0022 43F00203 orr r3, r3, #2 251 0026 A2F85430 strh r3, [r2, #84] @ movhi 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** return HAL_OK; 252 .loc 1 263 3 is_stmt 1 view .LVU77 264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 253 .loc 1 264 1 is_stmt 0 view .LVU78 254 002a 7047 bx lr 255 .cfi_endproc 256 .LFE333: 258 .section .text.HAL_PCDEx_DeActivateLPM,"ax",%progbits 259 .align 1 260 .global HAL_PCDEx_DeActivateLPM 261 .syntax unified 262 .thumb 263 .thumb_func 265 HAL_PCDEx_DeActivateLPM: 266 .LVL21: 267 .LFB334: 265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** 267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @brief Deactivate LPM feature. 268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param hpcd PCD handle 269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @retval HAL status 270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_DeActivateLPM(PCD_HandleTypeDef *hpcd) 272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 268 .loc 1 272 1 is_stmt 1 view -0 269 .cfi_startproc 270 @ args = 0, pretend = 0, frame = 0 271 @ frame_needed = 0, uses_anonymous_args = 0 272 @ link register save eliminated. 273 .loc 1 272 1 is_stmt 0 view .LVU80 274 0000 0346 mov r3, r0 273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance; 275 .loc 1 273 3 is_stmt 1 view .LVU81 276 .loc 1 273 16 is_stmt 0 view .LVU82 277 0002 0268 ldr r2, [r0] 278 .LVL22: 274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** hpcd->lpm_active = 0U; 279 .loc 1 275 3 is_stmt 1 view .LVU83 280 .loc 1 275 20 is_stmt 0 view .LVU84 281 0004 0020 movs r0, #0 282 .LVL23: 283 .loc 1 275 20 view .LVU85 284 0006 C3F8E802 str r0, [r3, #744] 276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->LPMCSR &= ~(USB_LPMCSR_LMPEN); 285 .loc 1 277 3 is_stmt 1 view .LVU86 286 .loc 1 277 7 is_stmt 0 view .LVU87 287 000a B2F85430 ldrh r3, [r2, #84] 288 .LVL24: 289 .loc 1 277 7 view .LVU88 290 000e 9BB2 uxth r3, r3 ARM GAS /tmp/ccXnw0bT.s page 11 291 .loc 1 277 16 view .LVU89 292 0010 23F00103 bic r3, r3, #1 293 0014 9BB2 uxth r3, r3 294 0016 A2F85430 strh r3, [r2, #84] @ movhi 278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->LPMCSR &= ~(USB_LPMCSR_LPMACK); 295 .loc 1 278 3 is_stmt 1 view .LVU90 296 .loc 1 278 7 is_stmt 0 view .LVU91 297 001a B2F85430 ldrh r3, [r2, #84] 298 001e 9BB2 uxth r3, r3 299 .loc 1 278 16 view .LVU92 300 0020 23F00203 bic r3, r3, #2 301 0024 9BB2 uxth r3, r3 302 0026 A2F85430 strh r3, [r2, #84] @ movhi 279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** return HAL_OK; 303 .loc 1 280 3 is_stmt 1 view .LVU93 281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 304 .loc 1 281 1 is_stmt 0 view .LVU94 305 002a 7047 bx lr 306 .cfi_endproc 307 .LFE334: 309 .section .text.HAL_PCDEx_LPM_Callback,"ax",%progbits 310 .align 1 311 .weak HAL_PCDEx_LPM_Callback 312 .syntax unified 313 .thumb 314 .thumb_func 316 HAL_PCDEx_LPM_Callback: 317 .LVL25: 318 .LFB335: 282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** 286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @brief Send LPM message to user layer callback. 287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param hpcd PCD handle 288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param msg LPM message 289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @retval HAL status 290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg) 292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 319 .loc 1 292 1 is_stmt 1 view -0 320 .cfi_startproc 321 @ args = 0, pretend = 0, frame = 0 322 @ frame_needed = 0, uses_anonymous_args = 0 323 @ link register save eliminated. 293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */ 294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** UNUSED(hpcd); 324 .loc 1 294 3 view .LVU96 295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** UNUSED(msg); 325 .loc 1 295 3 view .LVU97 296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, 298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** the HAL_PCDEx_LPM_Callback could be implemented in the user file 299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 326 .loc 1 300 1 is_stmt 0 view .LVU98 ARM GAS /tmp/ccXnw0bT.s page 12 327 0000 7047 bx lr 328 .cfi_endproc 329 .LFE335: 331 .section .text.HAL_PCDEx_BCD_Callback,"ax",%progbits 332 .align 1 333 .weak HAL_PCDEx_BCD_Callback 334 .syntax unified 335 .thumb 336 .thumb_func 338 HAL_PCDEx_BCD_Callback: 339 .LVL26: 340 .LFB336: 301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /** 303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @brief Send BatteryCharging message to user layer callback. 304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param hpcd PCD handle 305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @param msg LPM message 306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** * @retval HAL status 307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg) 309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 341 .loc 1 309 1 is_stmt 1 view -0 342 .cfi_startproc 343 @ args = 0, pretend = 0, frame = 0 344 @ frame_needed = 0, uses_anonymous_args = 0 345 @ link register save eliminated. 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */ 311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** UNUSED(hpcd); 346 .loc 1 311 3 view .LVU100 312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** UNUSED(msg); 347 .loc 1 312 3 view .LVU101 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** the HAL_PCDEx_BCD_Callback could be implemented in the user file 316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** */ 317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 348 .loc 1 317 1 is_stmt 0 view .LVU102 349 0000 7047 bx lr 350 .cfi_endproc 351 .LFE336: 353 .section .text.HAL_PCDEx_BCD_VBUSDetect,"ax",%progbits 354 .align 1 355 .global HAL_PCDEx_BCD_VBUSDetect 356 .syntax unified 357 .thumb 358 .thumb_func 360 HAL_PCDEx_BCD_VBUSDetect: 361 .LVL27: 362 .LFB332: 160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance; 363 .loc 1 160 1 is_stmt 1 view -0 364 .cfi_startproc 365 @ args = 0, pretend = 0, frame = 0 366 @ frame_needed = 0, uses_anonymous_args = 0 160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance; 367 .loc 1 160 1 is_stmt 0 view .LVU104 368 0000 70B5 push {r4, r5, r6, lr} ARM GAS /tmp/ccXnw0bT.s page 13 369 .LCFI0: 370 .cfi_def_cfa_offset 16 371 .cfi_offset 4, -16 372 .cfi_offset 5, -12 373 .cfi_offset 6, -8 374 .cfi_offset 14, -4 375 0002 0646 mov r6, r0 161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** uint32_t tickstart = HAL_GetTick(); 376 .loc 1 161 3 is_stmt 1 view .LVU105 161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** uint32_t tickstart = HAL_GetTick(); 377 .loc 1 161 16 is_stmt 0 view .LVU106 378 0004 0468 ldr r4, [r0] 379 .LVL28: 162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 380 .loc 1 162 3 is_stmt 1 view .LVU107 162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 381 .loc 1 162 24 is_stmt 0 view .LVU108 382 0006 FFF7FEFF bl HAL_GetTick 383 .LVL29: 162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 384 .loc 1 162 24 view .LVU109 385 000a 0546 mov r5, r0 386 .LVL30: 165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 387 .loc 1 165 3 is_stmt 1 view .LVU110 388 .L13: 165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 389 .loc 1 165 40 view .LVU111 165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 390 .loc 1 165 15 is_stmt 0 view .LVU112 391 000c B4F85830 ldrh r3, [r4, #88] 165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 392 .loc 1 165 40 view .LVU113 393 0010 13F0100F tst r3, #16 394 0014 0AD1 bne .L21 168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 395 .loc 1 168 5 is_stmt 1 view .LVU114 168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 396 .loc 1 168 10 is_stmt 0 view .LVU115 397 0016 FFF7FEFF bl HAL_GetTick 398 .LVL31: 168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 399 .loc 1 168 24 view .LVU116 400 001a 401B subs r0, r0, r5 168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 401 .loc 1 168 8 view .LVU117 402 001c B0F57A7F cmp r0, #1000 403 0020 F4D9 bls .L13 173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 404 .loc 1 173 7 is_stmt 1 view .LVU118 405 0022 FF21 movs r1, #255 406 0024 3046 mov r0, r6 407 0026 FFF7FEFF bl HAL_PCDEx_BCD_Callback 408 .LVL32: 176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** } 409 .loc 1 176 7 view .LVU119 410 002a 55E0 b .L12 ARM GAS /tmp/ccXnw0bT.s page 14 411 .L21: 180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 412 .loc 1 180 3 view .LVU120 413 002c C820 movs r0, #200 414 002e FFF7FEFF bl HAL_Delay 415 .LVL33: 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 416 .loc 1 183 3 view .LVU121 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 417 .loc 1 183 12 is_stmt 0 view .LVU122 418 0032 B4F85830 ldrh r3, [r4, #88] 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 419 .loc 1 183 6 view .LVU123 420 0036 13F0100F tst r3, #16 421 003a 38D1 bne .L22 422 .L16: 193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 423 .loc 1 193 3 is_stmt 1 view .LVU124 193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 424 .loc 1 193 7 is_stmt 0 view .LVU125 425 003c B4F85830 ldrh r3, [r4, #88] 426 0040 9BB2 uxth r3, r3 193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 427 .loc 1 193 14 view .LVU126 428 0042 23F00203 bic r3, r3, #2 429 0046 9BB2 uxth r3, r3 430 0048 A4F85830 strh r3, [r4, #88] @ movhi 194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->BCDR |= (USB_BCDR_PDEN); 431 .loc 1 194 3 is_stmt 1 view .LVU127 432 004c 3220 movs r0, #50 433 004e FFF7FEFF bl HAL_Delay 434 .LVL34: 195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 435 .loc 1 195 3 view .LVU128 195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 436 .loc 1 195 7 is_stmt 0 view .LVU129 437 0052 B4F85830 ldrh r3, [r4, #88] 438 0056 9BB2 uxth r3, r3 195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 439 .loc 1 195 14 view .LVU130 440 0058 43F00403 orr r3, r3, #4 441 005c A4F85830 strh r3, [r4, #88] @ movhi 196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 442 .loc 1 196 3 is_stmt 1 view .LVU131 443 0060 3220 movs r0, #50 444 0062 FFF7FEFF bl HAL_Delay 445 .LVL35: 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 446 .loc 1 199 3 view .LVU132 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 447 .loc 1 199 12 is_stmt 0 view .LVU133 448 0066 B4F85830 ldrh r3, [r4, #88] 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 449 .loc 1 199 6 view .LVU134 450 006a 13F0200F tst r3, #32 451 006e 28D0 beq .L17 203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); ARM GAS /tmp/ccXnw0bT.s page 15 452 .loc 1 203 5 is_stmt 1 view .LVU135 203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 453 .loc 1 203 9 is_stmt 0 view .LVU136 454 0070 B4F85830 ldrh r3, [r4, #88] 455 0074 9BB2 uxth r3, r3 203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 456 .loc 1 203 16 view .LVU137 457 0076 23F00403 bic r3, r3, #4 458 007a 9BB2 uxth r3, r3 459 007c A4F85830 strh r3, [r4, #88] @ movhi 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** USBx->BCDR |= (USB_BCDR_SDEN); 460 .loc 1 204 5 is_stmt 1 view .LVU138 461 0080 3220 movs r0, #50 462 0082 FFF7FEFF bl HAL_Delay 463 .LVL36: 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 464 .loc 1 205 5 view .LVU139 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 465 .loc 1 205 9 is_stmt 0 view .LVU140 466 0086 B4F85830 ldrh r3, [r4, #88] 467 008a 9BB2 uxth r3, r3 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** HAL_Delay(50U); 468 .loc 1 205 16 view .LVU141 469 008c 43F00803 orr r3, r3, #8 470 0090 A4F85830 strh r3, [r4, #88] @ movhi 206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 471 .loc 1 206 5 is_stmt 1 view .LVU142 472 0094 3220 movs r0, #50 473 0096 FFF7FEFF bl HAL_Delay 474 .LVL37: 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 475 .loc 1 209 5 view .LVU143 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 476 .loc 1 209 14 is_stmt 0 view .LVU144 477 009a B4F85830 ldrh r3, [r4, #88] 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** { 478 .loc 1 209 8 view .LVU145 479 009e 13F0400F tst r3, #64 480 00a2 09D0 beq .L18 215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 481 .loc 1 215 7 is_stmt 1 view .LVU146 482 00a4 FB21 movs r1, #251 483 00a6 3046 mov r0, r6 484 00a8 FFF7FEFF bl HAL_PCDEx_BCD_Callback 485 .LVL38: 486 00ac 0DE0 b .L19 487 .L22: 188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 488 .loc 1 188 5 view .LVU147 489 00ae FE21 movs r1, #254 490 00b0 3046 mov r0, r6 491 00b2 FFF7FEFF bl HAL_PCDEx_BCD_Callback 492 .LVL39: 493 00b6 C1E7 b .L16 494 .L18: 224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 495 .loc 1 224 7 view .LVU148 ARM GAS /tmp/ccXnw0bT.s page 16 496 00b8 FC21 movs r1, #252 497 00ba 3046 mov r0, r6 498 00bc FFF7FEFF bl HAL_PCDEx_BCD_Callback 499 .LVL40: 500 00c0 03E0 b .L19 501 .L17: 234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 502 .loc 1 234 5 view .LVU149 503 00c2 FD21 movs r1, #253 504 00c4 3046 mov r0, r6 505 00c6 FFF7FEFF bl HAL_PCDEx_BCD_Callback 506 .LVL41: 507 .L19: 239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 508 .loc 1 239 3 view .LVU150 239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 509 .loc 1 239 9 is_stmt 0 view .LVU151 510 00ca 3046 mov r0, r6 511 00cc FFF7FEFF bl HAL_PCDEx_DeActivateBCD 512 .LVL42: 243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 513 .loc 1 243 3 is_stmt 1 view .LVU152 514 00d0 0021 movs r1, #0 515 00d2 3046 mov r0, r6 516 00d4 FFF7FEFF bl HAL_PCDEx_BCD_Callback 517 .LVL43: 518 .L12: 245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 519 .loc 1 245 1 is_stmt 0 view .LVU153 520 00d8 70BD pop {r4, r5, r6, pc} 245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c **** 521 .loc 1 245 1 view .LVU154 522 .cfi_endproc 523 .LFE332: 525 .text 526 .Letext0: 527 .file 2 "/usr/lib/gcc/arm-none-eabi/12.2.1/include/stdint.h" 528 .file 3 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h" 529 .file 4 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h" 530 .file 5 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_usb.h" 531 .file 6 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pcd.h" 532 .file 7 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h" ARM GAS /tmp/ccXnw0bT.s page 17 DEFINED SYMBOLS *ABS*:00000000 stm32g4xx_hal_pcd_ex.c /tmp/ccXnw0bT.s:21 .text.HAL_PCDEx_PMAConfig:00000000 $t /tmp/ccXnw0bT.s:27 .text.HAL_PCDEx_PMAConfig:00000000 HAL_PCDEx_PMAConfig /tmp/ccXnw0bT.s:101 .text.HAL_PCDEx_ActivateBCD:00000000 $t /tmp/ccXnw0bT.s:107 .text.HAL_PCDEx_ActivateBCD:00000000 HAL_PCDEx_ActivateBCD /tmp/ccXnw0bT.s:163 .text.HAL_PCDEx_DeActivateBCD:00000000 $t /tmp/ccXnw0bT.s:169 .text.HAL_PCDEx_DeActivateBCD:00000000 HAL_PCDEx_DeActivateBCD /tmp/ccXnw0bT.s:206 .text.HAL_PCDEx_ActivateLPM:00000000 $t /tmp/ccXnw0bT.s:212 .text.HAL_PCDEx_ActivateLPM:00000000 HAL_PCDEx_ActivateLPM /tmp/ccXnw0bT.s:259 .text.HAL_PCDEx_DeActivateLPM:00000000 $t /tmp/ccXnw0bT.s:265 .text.HAL_PCDEx_DeActivateLPM:00000000 HAL_PCDEx_DeActivateLPM /tmp/ccXnw0bT.s:310 .text.HAL_PCDEx_LPM_Callback:00000000 $t /tmp/ccXnw0bT.s:316 .text.HAL_PCDEx_LPM_Callback:00000000 HAL_PCDEx_LPM_Callback /tmp/ccXnw0bT.s:332 .text.HAL_PCDEx_BCD_Callback:00000000 $t /tmp/ccXnw0bT.s:338 .text.HAL_PCDEx_BCD_Callback:00000000 HAL_PCDEx_BCD_Callback /tmp/ccXnw0bT.s:354 .text.HAL_PCDEx_BCD_VBUSDetect:00000000 $t /tmp/ccXnw0bT.s:360 .text.HAL_PCDEx_BCD_VBUSDetect:00000000 HAL_PCDEx_BCD_VBUSDetect UNDEFINED SYMBOLS HAL_GetTick HAL_Delay