ARM GAS /tmp/ccmPatq2.s page 1 1 .cpu cortex-m7 2 .eabi_attribute 28, 1 3 .eabi_attribute 20, 1 4 .eabi_attribute 21, 1 5 .eabi_attribute 23, 3 6 .eabi_attribute 24, 1 7 .eabi_attribute 25, 1 8 .eabi_attribute 26, 1 9 .eabi_attribute 30, 1 10 .eabi_attribute 34, 1 11 .eabi_attribute 18, 4 12 .file "stm32h7xx_hal_pcd_ex.c" 13 .text 14 .Ltext0: 15 .cfi_sections .debug_frame 16 .section .text.HAL_PCDEx_SetTxFiFo,"ax",%progbits 17 .align 1 18 .global HAL_PCDEx_SetTxFiFo 19 .arch armv7e-m 20 .syntax unified 21 .thumb 22 .thumb_func 23 .fpu fpv5-d16 25 HAL_PCDEx_SetTxFiFo: 26 .LVL0: 27 .LFB141: 28 .file 1 "Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c" 1:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** 2:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** ****************************************************************************** 3:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @file stm32h7xx_hal_pcd_ex.c 4:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @author MCD Application Team 5:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver. 6:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * functionalities of the USB Peripheral Controller: 8:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * + Extended features functions 9:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * 10:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** ****************************************************************************** 11:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @attention 12:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * 13:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** *

© Copyright (c) 2017 STMicroelectronics. 14:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * All rights reserved.

15:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * 16:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * This software component is licensed by ST under BSD 3-Clause license, 17:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * the "License"; You may not use this file except in compliance with the 18:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * License. You may obtain a copy of the License at: 19:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * opensource.org/licenses/BSD-3-Clause 20:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * 21:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** ****************************************************************************** 22:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 23:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 24:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Includes ------------------------------------------------------------------*/ 25:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #include "stm32h7xx_hal.h" 26:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 27:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** @addtogroup STM32H7xx_HAL_Driver 28:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @{ 29:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 30:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** ARM GAS /tmp/ccmPatq2.s page 2 31:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** @defgroup PCDEx PCDEx 32:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver 33:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @{ 34:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 35:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 36:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #ifdef HAL_PCD_MODULE_ENABLED 37:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 38:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 39:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Private types -------------------------------------------------------------*/ 40:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Private variables ---------------------------------------------------------*/ 41:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Private constants ---------------------------------------------------------*/ 42:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Private macros ------------------------------------------------------------*/ 43:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Private functions ---------------------------------------------------------*/ 44:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Exported functions --------------------------------------------------------*/ 45:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 46:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions PCDEx Exported Functions 47:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @{ 48:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 49:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 50:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions_Group1 Peripheral Control functions 51:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief PCDEx control functions 52:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * 53:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** @verbatim 54:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** =============================================================================== 55:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** ##### Extended features functions ##### 56:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** =============================================================================== 57:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** [..] This section provides functions allowing to: 58:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** (+) Update FIFO configuration 59:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 60:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** @endverbatim 61:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @{ 62:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 63:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 64:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** 65:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief Set Tx FIFO 66:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param hpcd PCD handle 67:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param fifo The number of Tx fifo 68:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param size Fifo size 69:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @retval HAL status 70:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 71:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size) 72:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 29 .loc 1 72 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 0 32 @ frame_needed = 0, uses_anonymous_args = 0 33 @ link register save eliminated. 34 .loc 1 72 1 is_stmt 0 view .LVU1 35 0000 10B4 push {r4} 36 .LCFI0: 37 .cfi_def_cfa_offset 4 38 .cfi_offset 4, -4 73:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** uint8_t i; 39 .loc 1 73 3 is_stmt 1 view .LVU2 74:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** uint32_t Tx_Offset; 40 .loc 1 74 3 view .LVU3 75:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** ARM GAS /tmp/ccmPatq2.s page 3 76:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* TXn min size = 16 words. (n : Transmit FIFO index) 77:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** When a TxFIFO is not used, the Configuration should be as follows: 78:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** case 1 : n > m and Txn is not used (n,m : Transmit FIFO indexes) 79:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** --> Txm can use the space allocated for Txn. 80:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** case2 : n < m and Txn is not used (n,m : Transmit FIFO indexes) 81:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** --> Txn should be configured with the minimum space of 16 words 82:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** The FIFO is used optimally when used TxFIFOs are allocated in the top 83:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** of the FIFO.Ex: use EP1 and EP2 as IN instead of EP1 and EP3 as IN ones. 84:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** When DMA is used 3n * FIFO locations should be reserved for internal DMA registers */ 85:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 86:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** Tx_Offset = hpcd->Instance->GRXFSIZ; 41 .loc 1 86 3 view .LVU4 42 .loc 1 86 19 is_stmt 0 view .LVU5 43 0002 0468 ldr r4, [r0] 44 .loc 1 86 13 view .LVU6 45 0004 606A ldr r0, [r4, #36] 46 .LVL1: 87:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 88:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** if (fifo == 0U) 47 .loc 1 88 3 is_stmt 1 view .LVU7 48 .loc 1 88 6 is_stmt 0 view .LVU8 49 0006 31B9 cbnz r1, .L2 89:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 90:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->Instance->DIEPTXF0_HNPTXFSIZ = ((uint32_t)size << 16) | Tx_Offset; 50 .loc 1 90 5 is_stmt 1 view .LVU9 51 .loc 1 90 65 is_stmt 0 view .LVU10 52 0008 40EA0240 orr r0, r0, r2, lsl #16 53 .LVL2: 54 .loc 1 90 40 view .LVU11 55 000c A062 str r0, [r4, #40] 56 .LVL3: 57 .L3: 91:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 92:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** else 93:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 94:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** Tx_Offset += (hpcd->Instance->DIEPTXF0_HNPTXFSIZ) >> 16; 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** for (i = 0U; i < (fifo - 1U); i++) 96:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 97:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** Tx_Offset += (hpcd->Instance->DIEPTXF[i] >> 16); 98:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 99:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Multiply Tx_Size by 2 to get higher performance */ 101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->Instance->DIEPTXF[fifo - 1U] = ((uint32_t)size << 16) | Tx_Offset; 102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** return HAL_OK; 58 .loc 1 104 3 is_stmt 1 view .LVU12 105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 59 .loc 1 105 1 is_stmt 0 view .LVU13 60 000e 0020 movs r0, #0 61 0010 5DF8044B ldr r4, [sp], #4 62 .LCFI1: 63 .cfi_remember_state 64 .cfi_restore 4 65 .cfi_def_cfa_offset 0 66 0014 7047 bx lr 67 .LVL4: ARM GAS /tmp/ccmPatq2.s page 4 68 .L2: 69 .LCFI2: 70 .cfi_restore_state 71 .loc 1 105 1 view .LVU14 72 0016 8C46 mov ip, r1 94:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** for (i = 0U; i < (fifo - 1U); i++) 73 .loc 1 94 5 is_stmt 1 view .LVU15 94:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** for (i = 0U; i < (fifo - 1U); i++) 74 .loc 1 94 33 is_stmt 0 view .LVU16 75 0018 A36A ldr r3, [r4, #40] 94:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** for (i = 0U; i < (fifo - 1U); i++) 76 .loc 1 94 15 view .LVU17 77 001a 00EB1340 add r0, r0, r3, lsr #16 78 .LVL5: 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 79 .loc 1 95 5 is_stmt 1 view .LVU18 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 80 .loc 1 95 12 is_stmt 0 view .LVU19 81 001e 0023 movs r3, #0 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 82 .loc 1 95 5 view .LVU20 83 0020 08E0 b .L4 84 .LVL6: 85 .L5: 97:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 86 .loc 1 97 7 is_stmt 1 discriminator 3 view .LVU21 97:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 87 .loc 1 97 44 is_stmt 0 discriminator 3 view .LVU22 88 0022 03F14001 add r1, r3, #64 89 0026 04EB8101 add r1, r4, r1, lsl #2 90 002a 4968 ldr r1, [r1, #4] 97:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 91 .loc 1 97 17 discriminator 3 view .LVU23 92 002c 00EB1140 add r0, r0, r1, lsr #16 93 .LVL7: 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 94 .loc 1 95 35 is_stmt 1 discriminator 3 view .LVU24 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 95 .loc 1 95 36 is_stmt 0 discriminator 3 view .LVU25 96 0030 0133 adds r3, r3, #1 97 .LVL8: 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 98 .loc 1 95 36 discriminator 3 view .LVU26 99 0032 DBB2 uxtb r3, r3 100 .LVL9: 101 .L4: 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 102 .loc 1 95 18 is_stmt 1 discriminator 1 view .LVU27 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 103 .loc 1 95 28 is_stmt 0 discriminator 1 view .LVU28 104 0034 0CF1FF31 add r1, ip, #-1 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 105 .loc 1 95 5 discriminator 1 view .LVU29 106 0038 8B42 cmp r3, r1 107 003a F2D3 bcc .L5 101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 108 .loc 1 101 5 is_stmt 1 view .LVU30 ARM GAS /tmp/ccmPatq2.s page 5 101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 109 .loc 1 101 65 is_stmt 0 view .LVU31 110 003c 40EA0240 orr r0, r0, r2, lsl #16 111 .LVL10: 101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 112 .loc 1 101 40 view .LVU32 113 0040 0CF13F01 add r1, ip, #63 114 0044 04EB8101 add r1, r4, r1, lsl #2 115 0048 4860 str r0, [r1, #4] 116 004a E0E7 b .L3 117 .cfi_endproc 118 .LFE141: 120 .section .text.HAL_PCDEx_SetRxFiFo,"ax",%progbits 121 .align 1 122 .global HAL_PCDEx_SetRxFiFo 123 .syntax unified 124 .thumb 125 .thumb_func 126 .fpu fpv5-d16 128 HAL_PCDEx_SetRxFiFo: 129 .LVL11: 130 .LFB142: 106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** 108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief Set Rx FIFO 109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param hpcd PCD handle 110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param size Size of Rx fifo 111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @retval HAL status 112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size) 114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 131 .loc 1 114 1 is_stmt 1 view -0 132 .cfi_startproc 133 @ args = 0, pretend = 0, frame = 0 134 @ frame_needed = 0, uses_anonymous_args = 0 135 @ link register save eliminated. 115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->Instance->GRXFSIZ = size; 136 .loc 1 115 3 view .LVU34 137 .loc 1 115 7 is_stmt 0 view .LVU35 138 0000 0368 ldr r3, [r0] 139 .loc 1 115 27 view .LVU36 140 0002 5962 str r1, [r3, #36] 116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** return HAL_OK; 141 .loc 1 117 3 is_stmt 1 view .LVU37 118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 142 .loc 1 118 1 is_stmt 0 view .LVU38 143 0004 0020 movs r0, #0 144 .LVL12: 145 .loc 1 118 1 view .LVU39 146 0006 7047 bx lr 147 .cfi_endproc 148 .LFE142: 150 .section .text.HAL_PCDEx_ActivateLPM,"ax",%progbits 151 .align 1 152 .global HAL_PCDEx_ActivateLPM 153 .syntax unified ARM GAS /tmp/ccmPatq2.s page 6 154 .thumb 155 .thumb_func 156 .fpu fpv5-d16 158 HAL_PCDEx_ActivateLPM: 159 .LVL13: 160 .LFB143: 119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** 121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief Activate LPM feature. 122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param hpcd PCD handle 123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @retval HAL status 124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd) 126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 161 .loc 1 126 1 is_stmt 1 view -0 162 .cfi_startproc 163 @ args = 0, pretend = 0, frame = 0 164 @ frame_needed = 0, uses_anonymous_args = 0 165 @ link register save eliminated. 166 .loc 1 126 1 is_stmt 0 view .LVU41 167 0000 0346 mov r3, r0 127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 168 .loc 1 127 3 is_stmt 1 view .LVU42 169 .loc 1 127 26 is_stmt 0 view .LVU43 170 0002 0268 ldr r2, [r0] 171 .LVL14: 128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->lpm_active = 1U; 172 .loc 1 129 3 is_stmt 1 view .LVU44 173 .loc 1 129 20 is_stmt 0 view .LVU45 174 0004 0121 movs r1, #1 175 0006 C0F8FC13 str r1, [r0, #1020] 130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->LPM_State = LPM_L0; 176 .loc 1 130 3 is_stmt 1 view .LVU46 177 .loc 1 130 19 is_stmt 0 view .LVU47 178 000a 0020 movs r0, #0 179 .LVL15: 180 .loc 1 130 19 view .LVU48 181 000c 83F8F403 strb r0, [r3, #1012] 131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_LPMINTM; 182 .loc 1 131 3 is_stmt 1 view .LVU49 183 .loc 1 131 17 is_stmt 0 view .LVU50 184 0010 9369 ldr r3, [r2, #24] 185 .LVL16: 186 .loc 1 131 17 view .LVU51 187 0012 43F00063 orr r3, r3, #134217728 188 0016 9361 str r3, [r2, #24] 132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GLPMCFG |= (USB_OTG_GLPMCFG_LPMEN | USB_OTG_GLPMCFG_LPMACK | USB_OTG_GLPMCFG_ENBESL); 189 .loc 1 132 3 is_stmt 1 view .LVU52 190 .loc 1 132 17 is_stmt 0 view .LVU53 191 0018 516D ldr r1, [r2, #84] 192 001a 024B ldr r3, .L9 193 001c 0B43 orrs r3, r3, r1 194 001e 5365 str r3, [r2, #84] 133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** return HAL_OK; 195 .loc 1 134 3 is_stmt 1 view .LVU54 ARM GAS /tmp/ccmPatq2.s page 7 135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 196 .loc 1 135 1 is_stmt 0 view .LVU55 197 0020 7047 bx lr 198 .L10: 199 0022 00BF .align 2 200 .L9: 201 0024 03000010 .word 268435459 202 .cfi_endproc 203 .LFE143: 205 .section .text.HAL_PCDEx_DeActivateLPM,"ax",%progbits 206 .align 1 207 .global HAL_PCDEx_DeActivateLPM 208 .syntax unified 209 .thumb 210 .thumb_func 211 .fpu fpv5-d16 213 HAL_PCDEx_DeActivateLPM: 214 .LVL17: 215 .LFB144: 136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** 138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief Deactivate LPM feature. 139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param hpcd PCD handle 140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @retval HAL status 141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_DeActivateLPM(PCD_HandleTypeDef *hpcd) 143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 216 .loc 1 143 1 is_stmt 1 view -0 217 .cfi_startproc 218 @ args = 0, pretend = 0, frame = 0 219 @ frame_needed = 0, uses_anonymous_args = 0 220 @ link register save eliminated. 221 .loc 1 143 1 is_stmt 0 view .LVU57 222 0000 0246 mov r2, r0 144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 223 .loc 1 144 3 is_stmt 1 view .LVU58 224 .loc 1 144 26 is_stmt 0 view .LVU59 225 0002 0368 ldr r3, [r0] 226 .LVL18: 145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->lpm_active = 0U; 227 .loc 1 146 3 is_stmt 1 view .LVU60 228 .loc 1 146 20 is_stmt 0 view .LVU61 229 0004 0020 movs r0, #0 230 .LVL19: 231 .loc 1 146 20 view .LVU62 232 0006 C2F8FC03 str r0, [r2, #1020] 147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GINTMSK &= ~USB_OTG_GINTMSK_LPMINTM; 233 .loc 1 147 3 is_stmt 1 view .LVU63 234 .loc 1 147 17 is_stmt 0 view .LVU64 235 000a 9A69 ldr r2, [r3, #24] 236 .LVL20: 237 .loc 1 147 17 view .LVU65 238 000c 22F00062 bic r2, r2, #134217728 239 0010 9A61 str r2, [r3, #24] 148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GLPMCFG &= ~(USB_OTG_GLPMCFG_LPMEN | USB_OTG_GLPMCFG_LPMACK | USB_OTG_GLPMCFG_ENBESL); 240 .loc 1 148 3 is_stmt 1 view .LVU66 ARM GAS /tmp/ccmPatq2.s page 8 241 .loc 1 148 17 is_stmt 0 view .LVU67 242 0012 596D ldr r1, [r3, #84] 243 0014 014A ldr r2, .L12 244 0016 0A40 ands r2, r2, r1 245 0018 5A65 str r2, [r3, #84] 149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** return HAL_OK; 246 .loc 1 150 3 is_stmt 1 view .LVU68 151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 247 .loc 1 151 1 is_stmt 0 view .LVU69 248 001a 7047 bx lr 249 .L13: 250 .align 2 251 .L12: 252 001c FCFFFFEF .word -268435460 253 .cfi_endproc 254 .LFE144: 256 .section .text.HAL_PCDEx_ActivateBCD,"ax",%progbits 257 .align 1 258 .global HAL_PCDEx_ActivateBCD 259 .syntax unified 260 .thumb 261 .thumb_func 262 .fpu fpv5-d16 264 HAL_PCDEx_ActivateBCD: 265 .LVL21: 266 .LFB146: 152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** 155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief Handle BatteryCharging Process. 156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param hpcd PCD handle 157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @retval HAL status 158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** void HAL_PCDEx_BCD_VBUSDetect(PCD_HandleTypeDef *hpcd) 160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** uint32_t tickstart = HAL_GetTick(); 163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Enable DCD : Data Contact Detect */ 165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG |= USB_OTG_GCCFG_DCDEN; 166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Wait Detect flag or a timeout is happen*/ 168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** while ((USBx->GCCFG & USB_OTG_GCCFG_DCDET) == 0U) 169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Check for the Timeout */ 171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** if ((HAL_GetTick() - tickstart) > 1000U) 172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_ERROR); 175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #else 176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_ERROR); 177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** return; 180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } ARM GAS /tmp/ccmPatq2.s page 9 182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Right response got */ 184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(200U); 185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Check Detect flag*/ 187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** if ((USBx->GCCFG & USB_OTG_GCCFG_DCDET) == USB_OTG_GCCFG_DCDET) 188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_CONTACT_DETECTION); 191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #else 192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_CONTACT_DETECTION); 193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /*Primary detection: checks if connected to Standard Downstream Port 197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** (without charging capability) */ 198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG &= ~ USB_OTG_GCCFG_DCDEN; 199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG |= USB_OTG_GCCFG_PDEN; 201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** if ((USBx->GCCFG & USB_OTG_GCCFG_PDET) == 0U) 204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Case of Standard Downstream Port */ 206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_STD_DOWNSTREAM_PORT); 208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #else 209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_STD_DOWNSTREAM_PORT); 210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** else 213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* start secondary detection to check connection to Charging Downstream 215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** Port or Dedicated Charging Port */ 216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG &= ~ USB_OTG_GCCFG_PDEN; 217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG |= USB_OTG_GCCFG_SDEN; 219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** if ((USBx->GCCFG & USB_OTG_GCCFG_SDET) == USB_OTG_GCCFG_SDET) 222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* case Dedicated Charging Port */ 224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_DEDICATED_CHARGING_PORT); 226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #else 227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_DEDICATED_CHARGING_PORT); 228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** else 231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* case Charging Downstream Port */ 233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_CHARGING_DOWNSTREAM_PORT); 235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #else 236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_CHARGING_DOWNSTREAM_PORT); 237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } ARM GAS /tmp/ccmPatq2.s page 10 239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Battery Charging capability discovery finished */ 242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** (void)HAL_PCDEx_DeActivateBCD(hpcd); 243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_DISCOVERY_COMPLETED); 246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #else 247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_DISCOVERY_COMPLETED); 248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** 252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief Activate BatteryCharging feature. 253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param hpcd PCD handle 254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @retval HAL status 255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_ActivateBCD(PCD_HandleTypeDef *hpcd) 257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 267 .loc 1 257 1 is_stmt 1 view -0 268 .cfi_startproc 269 @ args = 0, pretend = 0, frame = 0 270 @ frame_needed = 0, uses_anonymous_args = 0 271 @ link register save eliminated. 258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 272 .loc 1 258 3 view .LVU71 273 .loc 1 258 26 is_stmt 0 view .LVU72 274 0000 0368 ldr r3, [r0] 275 .LVL22: 259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_PDEN); 276 .loc 1 260 3 is_stmt 1 view .LVU73 277 .loc 1 260 15 is_stmt 0 view .LVU74 278 0002 9A6B ldr r2, [r3, #56] 279 0004 22F40022 bic r2, r2, #524288 280 0008 9A63 str r2, [r3, #56] 261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_SDEN); 281 .loc 1 261 3 is_stmt 1 view .LVU75 282 .loc 1 261 15 is_stmt 0 view .LVU76 283 000a 9A6B ldr r2, [r3, #56] 284 000c 22F48012 bic r2, r2, #1048576 285 0010 9A63 str r2, [r3, #56] 262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Power Down USB tranceiver */ 264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 286 .loc 1 264 3 is_stmt 1 view .LVU77 287 .loc 1 264 15 is_stmt 0 view .LVU78 288 0012 9A6B ldr r2, [r3, #56] 289 0014 22F48032 bic r2, r2, #65536 290 0018 9A63 str r2, [r3, #56] 265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Enable Battery charging */ 267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG |= USB_OTG_GCCFG_BCDEN; 291 .loc 1 267 3 is_stmt 1 view .LVU79 292 .loc 1 267 15 is_stmt 0 view .LVU80 293 001a 9A6B ldr r2, [r3, #56] 294 001c 42F40032 orr r2, r2, #131072 ARM GAS /tmp/ccmPatq2.s page 11 295 0020 9A63 str r2, [r3, #56] 268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->battery_charging_active = 1U; 296 .loc 1 269 3 is_stmt 1 view .LVU81 297 .loc 1 269 33 is_stmt 0 view .LVU82 298 0022 0123 movs r3, #1 299 .LVL23: 300 .loc 1 269 33 view .LVU83 301 0024 C0F80034 str r3, [r0, #1024] 270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** return HAL_OK; 302 .loc 1 271 3 is_stmt 1 view .LVU84 272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 303 .loc 1 272 1 is_stmt 0 view .LVU85 304 0028 0020 movs r0, #0 305 .LVL24: 306 .loc 1 272 1 view .LVU86 307 002a 7047 bx lr 308 .cfi_endproc 309 .LFE146: 311 .section .text.HAL_PCDEx_DeActivateBCD,"ax",%progbits 312 .align 1 313 .global HAL_PCDEx_DeActivateBCD 314 .syntax unified 315 .thumb 316 .thumb_func 317 .fpu fpv5-d16 319 HAL_PCDEx_DeActivateBCD: 320 .LVL25: 321 .LFB147: 273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** 275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief Deactivate BatteryCharging feature. 276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param hpcd PCD handle 277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @retval HAL status 278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_DeActivateBCD(PCD_HandleTypeDef *hpcd) 280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 322 .loc 1 280 1 is_stmt 1 view -0 323 .cfi_startproc 324 @ args = 0, pretend = 0, frame = 0 325 @ frame_needed = 0, uses_anonymous_args = 0 326 @ link register save eliminated. 327 .loc 1 280 1 is_stmt 0 view .LVU88 328 0000 0246 mov r2, r0 281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 329 .loc 1 281 3 is_stmt 1 view .LVU89 330 .loc 1 281 26 is_stmt 0 view .LVU90 331 0002 0368 ldr r3, [r0] 332 .LVL26: 282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_SDEN); 333 .loc 1 283 3 is_stmt 1 view .LVU91 334 .loc 1 283 15 is_stmt 0 view .LVU92 335 0004 996B ldr r1, [r3, #56] 336 0006 21F48011 bic r1, r1, #1048576 337 000a 9963 str r1, [r3, #56] ARM GAS /tmp/ccmPatq2.s page 12 284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_PDEN); 338 .loc 1 284 3 is_stmt 1 view .LVU93 339 .loc 1 284 15 is_stmt 0 view .LVU94 340 000c 996B ldr r1, [r3, #56] 341 000e 21F40021 bic r1, r1, #524288 342 0012 9963 str r1, [r3, #56] 285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Disable Battery charging */ 287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_BCDEN); 343 .loc 1 287 3 is_stmt 1 view .LVU95 344 .loc 1 287 15 is_stmt 0 view .LVU96 345 0014 996B ldr r1, [r3, #56] 346 0016 21F40031 bic r1, r1, #131072 347 001a 9963 str r1, [r3, #56] 288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** hpcd->battery_charging_active = 0U; 348 .loc 1 289 3 is_stmt 1 view .LVU97 349 .loc 1 289 33 is_stmt 0 view .LVU98 350 001c 0020 movs r0, #0 351 .LVL27: 352 .loc 1 289 33 view .LVU99 353 001e C2F80004 str r0, [r2, #1024] 290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** return HAL_OK; 354 .loc 1 291 3 is_stmt 1 view .LVU100 292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 355 .loc 1 292 1 is_stmt 0 view .LVU101 356 0022 7047 bx lr 357 .cfi_endproc 358 .LFE147: 360 .section .text.HAL_PCDEx_LPM_Callback,"ax",%progbits 361 .align 1 362 .weak HAL_PCDEx_LPM_Callback 363 .syntax unified 364 .thumb 365 .thumb_func 366 .fpu fpv5-d16 368 HAL_PCDEx_LPM_Callback: 369 .LVL28: 370 .LFB148: 293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** 297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief Send LPM message to user layer callback. 298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param hpcd PCD handle 299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param msg LPM message 300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @retval HAL status 301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg) 303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 371 .loc 1 303 1 is_stmt 1 view -0 372 .cfi_startproc 373 @ args = 0, pretend = 0, frame = 0 374 @ frame_needed = 0, uses_anonymous_args = 0 375 @ link register save eliminated. 304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */ ARM GAS /tmp/ccmPatq2.s page 13 305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** UNUSED(hpcd); 376 .loc 1 305 3 view .LVU103 306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** UNUSED(msg); 377 .loc 1 306 3 view .LVU104 307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, 309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** the HAL_PCDEx_LPM_Callback could be implemented in the user file 310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 378 .loc 1 311 1 is_stmt 0 view .LVU105 379 0000 7047 bx lr 380 .cfi_endproc 381 .LFE148: 383 .section .text.HAL_PCDEx_BCD_Callback,"ax",%progbits 384 .align 1 385 .weak HAL_PCDEx_BCD_Callback 386 .syntax unified 387 .thumb 388 .thumb_func 389 .fpu fpv5-d16 391 HAL_PCDEx_BCD_Callback: 392 .LVL29: 393 .LFB149: 312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /** 314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @brief Send BatteryCharging message to user layer callback. 315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param hpcd PCD handle 316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @param msg LPM message 317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** * @retval HAL status 318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg) 320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 394 .loc 1 320 1 is_stmt 1 view -0 395 .cfi_startproc 396 @ args = 0, pretend = 0, frame = 0 397 @ frame_needed = 0, uses_anonymous_args = 0 398 @ link register save eliminated. 321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */ 322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** UNUSED(hpcd); 399 .loc 1 322 3 view .LVU107 323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** UNUSED(msg); 400 .loc 1 323 3 view .LVU108 324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, 326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** the HAL_PCDEx_BCD_Callback could be implemented in the user file 327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** */ 328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 401 .loc 1 328 1 is_stmt 0 view .LVU109 402 0000 7047 bx lr 403 .cfi_endproc 404 .LFE149: 406 .section .text.HAL_PCDEx_BCD_VBUSDetect,"ax",%progbits 407 .align 1 408 .global HAL_PCDEx_BCD_VBUSDetect 409 .syntax unified 410 .thumb 411 .thumb_func ARM GAS /tmp/ccmPatq2.s page 14 412 .fpu fpv5-d16 414 HAL_PCDEx_BCD_VBUSDetect: 415 .LVL30: 416 .LFB145: 160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 417 .loc 1 160 1 is_stmt 1 view -0 418 .cfi_startproc 419 @ args = 0, pretend = 0, frame = 0 420 @ frame_needed = 0, uses_anonymous_args = 0 160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 421 .loc 1 160 1 is_stmt 0 view .LVU111 422 0000 70B5 push {r4, r5, r6, lr} 423 .LCFI3: 424 .cfi_def_cfa_offset 16 425 .cfi_offset 4, -16 426 .cfi_offset 5, -12 427 .cfi_offset 6, -8 428 .cfi_offset 14, -4 429 0002 0646 mov r6, r0 161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** uint32_t tickstart = HAL_GetTick(); 430 .loc 1 161 3 is_stmt 1 view .LVU112 161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** uint32_t tickstart = HAL_GetTick(); 431 .loc 1 161 26 is_stmt 0 view .LVU113 432 0004 0468 ldr r4, [r0] 433 .LVL31: 162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 434 .loc 1 162 3 is_stmt 1 view .LVU114 162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 435 .loc 1 162 24 is_stmt 0 view .LVU115 436 0006 FFF7FEFF bl HAL_GetTick 437 .LVL32: 162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 438 .loc 1 162 24 view .LVU116 439 000a 0546 mov r5, r0 440 .LVL33: 165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 441 .loc 1 165 3 is_stmt 1 view .LVU117 165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 442 .loc 1 165 15 is_stmt 0 view .LVU118 443 000c A36B ldr r3, [r4, #56] 444 000e 43F48023 orr r3, r3, #262144 445 0012 A363 str r3, [r4, #56] 168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 446 .loc 1 168 3 is_stmt 1 view .LVU119 447 .LVL34: 448 .L19: 168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 449 .loc 1 168 9 view .LVU120 168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 450 .loc 1 168 15 is_stmt 0 view .LVU121 451 0014 A36B ldr r3, [r4, #56] 168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 452 .loc 1 168 9 view .LVU122 453 0016 13F0010F tst r3, #1 454 001a 0AD1 bne .L27 171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 455 .loc 1 171 5 is_stmt 1 view .LVU123 ARM GAS /tmp/ccmPatq2.s page 15 171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 456 .loc 1 171 10 is_stmt 0 view .LVU124 457 001c FFF7FEFF bl HAL_GetTick 458 .LVL35: 171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 459 .loc 1 171 24 view .LVU125 460 0020 401B subs r0, r0, r5 171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 461 .loc 1 171 8 view .LVU126 462 0022 B0F57A7F cmp r0, #1000 463 0026 F5D9 bls .L19 176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 464 .loc 1 176 7 is_stmt 1 view .LVU127 465 0028 FF21 movs r1, #255 466 002a 3046 mov r0, r6 467 002c FFF7FEFF bl HAL_PCDEx_BCD_Callback 468 .LVL36: 179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** } 469 .loc 1 179 7 view .LVU128 470 0030 23E0 b .L18 471 .L27: 184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 472 .loc 1 184 3 view .LVU129 473 0032 C820 movs r0, #200 474 0034 FFF7FEFF bl HAL_Delay 475 .LVL37: 187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 476 .loc 1 187 3 view .LVU130 187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 477 .loc 1 187 12 is_stmt 0 view .LVU131 478 0038 A36B ldr r3, [r4, #56] 187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 479 .loc 1 187 6 view .LVU132 480 003a 13F0010F tst r3, #1 481 003e 1DD1 bne .L28 482 .L22: 198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 483 .loc 1 198 3 is_stmt 1 view .LVU133 198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 484 .loc 1 198 15 is_stmt 0 view .LVU134 485 0040 A36B ldr r3, [r4, #56] 486 0042 23F48023 bic r3, r3, #262144 487 0046 A363 str r3, [r4, #56] 199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG |= USB_OTG_GCCFG_PDEN; 488 .loc 1 199 3 is_stmt 1 view .LVU135 489 0048 3220 movs r0, #50 490 004a FFF7FEFF bl HAL_Delay 491 .LVL38: 200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 492 .loc 1 200 3 view .LVU136 200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 493 .loc 1 200 15 is_stmt 0 view .LVU137 494 004e A36B ldr r3, [r4, #56] 495 0050 43F40023 orr r3, r3, #524288 496 0054 A363 str r3, [r4, #56] 201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 497 .loc 1 201 3 is_stmt 1 view .LVU138 ARM GAS /tmp/ccmPatq2.s page 16 498 0056 3220 movs r0, #50 499 0058 FFF7FEFF bl HAL_Delay 500 .LVL39: 203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 501 .loc 1 203 3 view .LVU139 203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 502 .loc 1 203 12 is_stmt 0 view .LVU140 503 005c A36B ldr r3, [r4, #56] 203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 504 .loc 1 203 6 view .LVU141 505 005e 13F0020F tst r3, #2 506 0062 10D1 bne .L23 209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 507 .loc 1 209 5 is_stmt 1 view .LVU142 508 0064 FD21 movs r1, #253 509 0066 3046 mov r0, r6 510 0068 FFF7FEFF bl HAL_PCDEx_BCD_Callback 511 .LVL40: 512 .L24: 242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 513 .loc 1 242 3 view .LVU143 242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 514 .loc 1 242 9 is_stmt 0 view .LVU144 515 006c 3046 mov r0, r6 516 006e FFF7FEFF bl HAL_PCDEx_DeActivateBCD 517 .LVL41: 247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 518 .loc 1 247 3 is_stmt 1 view .LVU145 519 0072 0021 movs r1, #0 520 0074 3046 mov r0, r6 521 0076 FFF7FEFF bl HAL_PCDEx_BCD_Callback 522 .LVL42: 523 .L18: 249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 524 .loc 1 249 1 is_stmt 0 view .LVU146 525 007a 70BD pop {r4, r5, r6, pc} 526 .LVL43: 527 .L28: 192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 528 .loc 1 192 5 is_stmt 1 view .LVU147 529 007c FE21 movs r1, #254 530 007e 3046 mov r0, r6 531 0080 FFF7FEFF bl HAL_PCDEx_BCD_Callback 532 .LVL44: 533 0084 DCE7 b .L22 534 .L23: 216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 535 .loc 1 216 5 view .LVU148 216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 536 .loc 1 216 17 is_stmt 0 view .LVU149 537 0086 A36B ldr r3, [r4, #56] 538 0088 23F40023 bic r3, r3, #524288 539 008c A363 str r3, [r4, #56] 217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** USBx->GCCFG |= USB_OTG_GCCFG_SDEN; 540 .loc 1 217 5 is_stmt 1 view .LVU150 541 008e 3220 movs r0, #50 542 0090 FFF7FEFF bl HAL_Delay ARM GAS /tmp/ccmPatq2.s page 17 543 .LVL45: 218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 544 .loc 1 218 5 view .LVU151 218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** HAL_Delay(50U); 545 .loc 1 218 17 is_stmt 0 view .LVU152 546 0094 A36B ldr r3, [r4, #56] 547 0096 43F48013 orr r3, r3, #1048576 548 009a A363 str r3, [r4, #56] 219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** 549 .loc 1 219 5 is_stmt 1 view .LVU153 550 009c 3220 movs r0, #50 551 009e FFF7FEFF bl HAL_Delay 552 .LVL46: 221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 553 .loc 1 221 5 view .LVU154 221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 554 .loc 1 221 14 is_stmt 0 view .LVU155 555 00a2 A36B ldr r3, [r4, #56] 221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** { 556 .loc 1 221 8 view .LVU156 557 00a4 13F0040F tst r3, #4 558 00a8 04D0 beq .L25 227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 559 .loc 1 227 7 is_stmt 1 view .LVU157 560 00aa FB21 movs r1, #251 561 00ac 3046 mov r0, r6 562 00ae FFF7FEFF bl HAL_PCDEx_BCD_Callback 563 .LVL47: 564 00b2 DBE7 b .L24 565 .L25: 236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 566 .loc 1 236 7 view .LVU158 567 00b4 FC21 movs r1, #252 568 00b6 3046 mov r0, r6 569 00b8 FFF7FEFF bl HAL_PCDEx_BCD_Callback 570 .LVL48: 571 00bc D6E7 b .L24 572 .cfi_endproc 573 .LFE145: 575 .text 576 .Letext0: 577 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h" 578 .file 3 "/usr/arm-none-eabi/include/sys/_stdint.h" 579 .file 4 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h750xx.h" 580 .file 5 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h" 581 .file 6 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usb.h" 582 .file 7 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_pcd.h" 583 .file 8 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h" ARM GAS /tmp/ccmPatq2.s page 18 DEFINED SYMBOLS *ABS*:0000000000000000 stm32h7xx_hal_pcd_ex.c /tmp/ccmPatq2.s:17 .text.HAL_PCDEx_SetTxFiFo:0000000000000000 $t /tmp/ccmPatq2.s:25 .text.HAL_PCDEx_SetTxFiFo:0000000000000000 HAL_PCDEx_SetTxFiFo /tmp/ccmPatq2.s:121 .text.HAL_PCDEx_SetRxFiFo:0000000000000000 $t /tmp/ccmPatq2.s:128 .text.HAL_PCDEx_SetRxFiFo:0000000000000000 HAL_PCDEx_SetRxFiFo /tmp/ccmPatq2.s:151 .text.HAL_PCDEx_ActivateLPM:0000000000000000 $t /tmp/ccmPatq2.s:158 .text.HAL_PCDEx_ActivateLPM:0000000000000000 HAL_PCDEx_ActivateLPM /tmp/ccmPatq2.s:201 .text.HAL_PCDEx_ActivateLPM:0000000000000024 $d /tmp/ccmPatq2.s:206 .text.HAL_PCDEx_DeActivateLPM:0000000000000000 $t /tmp/ccmPatq2.s:213 .text.HAL_PCDEx_DeActivateLPM:0000000000000000 HAL_PCDEx_DeActivateLPM /tmp/ccmPatq2.s:252 .text.HAL_PCDEx_DeActivateLPM:000000000000001c $d /tmp/ccmPatq2.s:257 .text.HAL_PCDEx_ActivateBCD:0000000000000000 $t /tmp/ccmPatq2.s:264 .text.HAL_PCDEx_ActivateBCD:0000000000000000 HAL_PCDEx_ActivateBCD /tmp/ccmPatq2.s:312 .text.HAL_PCDEx_DeActivateBCD:0000000000000000 $t /tmp/ccmPatq2.s:319 .text.HAL_PCDEx_DeActivateBCD:0000000000000000 HAL_PCDEx_DeActivateBCD /tmp/ccmPatq2.s:361 .text.HAL_PCDEx_LPM_Callback:0000000000000000 $t /tmp/ccmPatq2.s:368 .text.HAL_PCDEx_LPM_Callback:0000000000000000 HAL_PCDEx_LPM_Callback /tmp/ccmPatq2.s:384 .text.HAL_PCDEx_BCD_Callback:0000000000000000 $t /tmp/ccmPatq2.s:391 .text.HAL_PCDEx_BCD_Callback:0000000000000000 HAL_PCDEx_BCD_Callback /tmp/ccmPatq2.s:407 .text.HAL_PCDEx_BCD_VBUSDetect:0000000000000000 $t /tmp/ccmPatq2.s:414 .text.HAL_PCDEx_BCD_VBUSDetect:0000000000000000 HAL_PCDEx_BCD_VBUSDetect UNDEFINED SYMBOLS HAL_GetTick HAL_Delay